编辑:我放弃了!我现在只是简单地使用for (string& word : sentence) { .. }
。BOOST_FOREACH
是绝望的。谢谢你。
我读过这个,这个,他们根本没有帮助。特别是我想问第二个链接。为什么必须在命名空间下定义一些奇怪的结构boost
?我想要启用 BOOST_FOREACH 的类是在我自己的命名空间中定义的。如果我在 中定义我的迭代器,我如何访问该类的数据namespace boost { .. }
?这是没有意义的。我不知道为什么IEnumerable
在 C++ 中找到 的等价物花了我这么多时间!不boost
应该节省我的时间吗?
谁能告诉我迭代这个类的最巧妙的方法:
class Sentence {
private:
vector<string> words;
}
使用此代码:
Sentence sentence;
BOOST_FOREACH(string word, sentence) {
// ..
}
谢谢。