BOOST_FOREACH真的很整洁,但C宏的写作风格有点令人反感。 有没有一个技巧可以避免全大写拼写?
答案 0 :(得分:29)
也许这个?
#define foreach BOOST_FOREACH
答案 1 :(得分:13)
实际上,更多的谷歌搜索和阅读揭示了Boost foreach documentation中的答案:
让BOOST_FOREACH更漂亮
人们抱怨这个名字 BOOST_FOREACH。它太长了。全部大写 可能会很烦人。那可能 是的,但BOOST_FOREACH仅仅是 遵循Boost命名惯例。 这并不意味着你会被困住 但是,它。如果你想使用 不同的标识符(foreach, 也许),你可以简单地做:
#define foreach BOOST_FOREACH
#define reverse_foreach BOOST_REVERSE_FOREACH
如果您确定,请执行此操作 您选择的标识符不会导致 在您的代码中命名冲突。
并且我刚刚选择了
// cf http://www.boost.org/doc/libs/1_39_0/doc/html/foreach.html
// -- Making BOOST_FOREACH Prettier
#define boostForeach BOOST_FOREACH