使用 for 循环并将更改命令作为变量

Using a for loop with changing commands as a variable

本文关键字:命令 变量 for 循环 使用      更新时间:2023-10-16

我一直在网络和这个网站上寻找这种情况的答案,但我遇到的一切都是关于从外部文件读取它或更改代码中的命令,但不更改它的作用。我只是在做任何实际的事情之前弄乱代码来刷新自己。我正在验证某些常量是否等于我指定的数字。(我从来没有在这里发过帖子,我整天都在这样做,所以我没有花时间学习代码插入标签。

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",但从我所看到的情况来看,我认为它可能会。我还有许多其他方法可以完成这个是。我只是想以这种倒退的方式理解一种方式。为了理解。至于意图(除非你的意思是"意图"之外的东西(,我正在寻找不同的方法来完成一个具有多个变量极限常量的愚蠢程序。如最小长度,最大长度,短,最大整数等。我在想办法将它们与数字进行比较。不是出于任何原因使用。这将是完全无用的,因为它们是预定义的。我只是想将命令分配给(忘记它们在源代码中引用的内容(,例如CHAR_MAX到一个变量,该变量在输出结果后会随着 for 循环而变化。我必须事先在列表中定义它们,但我只是不知道如何定义。(另外:感谢 mod 更改了我的代码块以正确读取。

第二次编辑:采用所有变量限制。 18446744073709551615为无符号长长。 4294967295长(不知道为什么会这样,int 是一样的(。使用关联的命令获取这些数字,但通过命令等于变量的 for 循环。(又名 1 甚至"一"(名称并不重要,只要它可以包含相同的命令即可。我有一种感觉"变量"是一种不正确的表达方式,但你会用一个可变的内存分配调用来存储它,您可以通过增加该循环的计数器并输出一个

if(*command-as-variable* == *what that number is as a corresponding number*)
cout << "Pass";
else cout << "Fail";
enter code here

根据情况,我将术语与它相关联可能会失败,但如果一切正常,则不应失败。就像我说的,毫无意义。只是另一种方式,我可以更有效地编写此代码,而不是使用 19 个不同的cout语句。这是如何执行我试图找出的想法。 我还没有看过constexpr是干什么用的,但我现在快要昏倒了。这是漫长的一天。我明天看完后会编辑这个。或者如果解释一下,那就更好了!:)

将文本字符串分配给字符串变量,然后将字符串变量与整数进行比较。 编译器应至少生成一些警告。

也许你想要这个:

constexpr int one = CHAR_MAX;
if (one == 127)
//...

CHAR_MAX是预定义的常量(标识符/宏(。

您也可以这样做:

if (CHAR_MAX == 127)
{
//...