【发布时间】:2020-11-17 11:26:07
【问题描述】:
如何编写一个可以使用的宏,如下:
FOR(n)
FOR(j, n)
//do stuff
并扩展为有效的嵌套 C++ for 循环,其中:
-
FOR(n)将使用一个名为i的循环变量(默认情况)并且不变量小于 (<)n, -
FOR(j, n)将使用一个循环变量命名为第一个参数 (j) 并且不变量小于 (<)n?
我看到一个有竞争力的程序员用 C++ 编写这种宏,但我自己一直没能写出这样的宏。
【问题讨论】:
-
你尝试了吗?使用你不理解的其他宏比使用宏更糟糕;)
-
欢迎来到 Stackoverflow。请使用tour 并阅读How to ask?。它将为您赢得第一个徽章
-
MACRO 没有“重载”,但有可变参数 MACRO,并且可以计算参数并分派给其他 MACRO。
-
我读到你知道这是一种不好的做法,但我仍然想强调,如果你是某种编程语言的初学者,你应该避免看任何与竞争相关的东西,你只是学习/发现以后通常很难改掉的坏习惯。
-
@idclev463035818:for range 似乎比
std::for_each更自然(我不记得经常使用)。