相关疑难解决方法(0)

如何将BOOST_FOREACH与boost :: ptr_map一起使用?

如何使用boost :: ptr_map有效地使用BOOST_FOREACH(字符数/可读性)?

Kristo在他的回答中证明了可以将BOOST_FOREACH与ptr_map一起使用,但它并没有真正省去任何输入(或使我的代码真的更具可读性),而不是使用迭代器迭代ptr_map:

typedef boost::ptr_container_detail::ref_pair<int, int* const> IntPair;
BOOST_FOREACH(IntPair p, mymap) {
    int i = p.first;
}

// vs.

boost::ptr_map<int, T>::iterator it;
for (it = mymap.begin(); it != mymap.end(); ++it) {
    // doSomething()
}
Run Code Online (Sandbox Code Playgroud)

下面的代码就像我希望的那样.它遵循如何将BOOST_FOREACH与std :: map一起使用的标准方法.不幸的是,这不编译:

boost::ptr_map<int, T> mymap;
// insert something into mymap
// ...

typedef pair<int, T> IntTpair;
BOOST_FOREACH (IntTpair &p, mymap) {
    int i = p.first;
}
Run Code Online (Sandbox Code Playgroud)

c++ boost

12
推荐指数
3
解决办法
8062
查看次数

标签 统计

boost ×1

c++ ×1