BOOST_FOREACH:是否有避免全大写拼写的技巧?

Dir*_*tel 1 c++ boost

BOOST_FOREACH真的很整洁,但C宏的写作风格有点令人反感.是否有一个避免全大写拼写的技巧?

Ele*_*tro 29

也许这个?

#define foreach BOOST_FOREACH
Run Code Online (Sandbox Code Playgroud)


Dir*_*tel 13

实际上,更多的谷歌搜索和阅读揭示了Boost foreach文档中的答案:

使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
Run Code Online (Sandbox Code Playgroud)