【发布时间】:2018-01-27 17:02:03
【问题描述】:
我一直在网上和这个网站上寻找这个场景的答案,但我遇到的一切都是关于从外部文件中读取它或更改代码中的命令,但不改变它的作用.在我做任何实际操作之前,我只是在弄乱代码以刷新自己。我正在验证某些常量是否等于我指定的数字。 (我从来没有在这里发过帖子,而且我整天都在做这个,所以我没有花时间学习代码插入标签。)
string one = "CHAR_MAX"; // <<< I know this doesn't work. It's what I am
// trying to do in the loop.
if (one == 127)
cout << "Max char count: " << CHAR_MAX << ">>> Pass >>> " one;
我知道还有其他稍微繁琐的方法可以实现这一点。但我相当确定有一种方法可以做到这一点,而无需读取外部 .txt 文件,而且我花了很长时间试图弄清楚它。快把我逼疯了,我已经快 3 个小时了。
编辑: 我会更多地研究“constexpr”,但从我所看到的情况来看,我认为它可能会。我还有很多其他方法可以完成这个是的。我只是想以这种倒退的方式理解一种方式。为了理解。至于意图(除非你的意思是“意图”的其他意思),我正在寻找不同的方法来完成一个有几个可变限制常量的愚蠢程序。像 min long、max long、short、max int 等。我正在想办法将它们与数字进行比较。没有任何理由使用。这将完全没用,因为它们是预定义的。我只是想将命令(忘记它们在源代码中引用的内容)(例如 CHAR_MAX)分配给一个变量,该变量在输出结果后会随着 for 循环而变化。我必须事先在列表中定义它们,但我不知道如何。 (另外:感谢修改我的代码块以正确读取的mod。)
第二次编辑:采用所有变量限制。 18446744073709551615 为无符号长长。 4294967295 很长(不知道为什么会这样,int 是一样的)。使用相关命令获取这些数字,但通过命令等于变量的 for 循环。 (AKA 1 或什至“one”)名称无关紧要,只要它可以包含相同的命令即可。我觉得“变量”是一种不正确的表达方式,但是您可以将其存储在一个可变的内存分配调用中,您可以通过增加该循环的计数器并输出一个在 for 循环中使用
if(*command-as-variable* == *what that number is as a corresponding number*)
cout << "Pass";
else cout << "Fail";
enter code here
根据具体情况,我将这些条款与之关联可能会失败,但如果一切正常,它不应该。就像我说的,毫无意义。只是一种不同的方式,我可以更有效地编写此代码,而不是使用 19 个不同的 cout 语句。这是如何执行我试图找出的想法。 我还没有看过 constexpr 的用途,但我现在要昏倒了。这是漫长的一天。明天看后我会编辑这个。或者如果有解释那就更好了! :)
【问题讨论】:
-
您是否考虑过向book 学习 C++ 而不是反复试验?
-
我做到了,我也有一个,但这太容易了。 :P 我想挑战我无聊的头脑。我要到 8 月 28 日才上课。还剩 10 天,但我已经从 4 周的假期开始疯狂了。
标签: c++