【发布时间】:2011-05-24 05:11:04
【问题描述】:
亲爱的 C++ 粉丝,
您能在这里列出您最喜欢的 C++ 习语吗?最好列出那些有用但不为人所知的。
首先,我放了一个:
为了避免繁琐的重复 for (size_t i = 0; i < n; ++i) {...}
,我使用了这样的宏:
#define LOOP(n) for (size_t _i = 0; _i < n; ++_i)
_i 是 bind 使用的占位符。
所以我可以写:
vector<int> coll(100);
LOOP (100)
{
coll[_i] = _i;
}
LOOP (100)
{
auto a = _i;
LOOP (100)
{
auto b = _i;
cout << a << b;
}
}
【问题讨论】:
-
做你的榜样:这是你的 IDE 应该帮助你的东西,而不是晦涩的宏。
-
+1 表示一个体面的问题,但 -1 表示一个糟糕的、糟糕的例子。净零票:)
-
可能有很多重复:*.com/questions/1759613/…、*.com/questions/2096515/…、*.com/questions/2345177/basic-c-idioms-techniques。 OP 的示例可能更像是一个 个人 习语,而不是普遍接受的 C++ 习语?
-
@UncleBens,是的,这是我的个人习惯。我认为不为人所知的个人习语可能更有趣。
-
如果你需要两个嵌套的for循环怎么办?使用你的宏,占位符变量会发生冲突。