0
relocate()
在boost多指標容器中的含義是什麼?boost重定位功能,效果如何?
我已經閱讀從升壓單證手動,但我希望看到一個簡單的例子,使用和不使用的重定位功能看的差異。在網絡上的例子並不雖然簡單....
relocate()
在boost多指標容器中的含義是什麼?boost重定位功能,效果如何?
我已經閱讀從升壓單證手動,但我希望看到一個簡單的例子,使用和不使用的重定位功能看的差異。在網絡上的例子並不雖然簡單....
它只是重新定位序列索引(移動)項目(S):
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/sequenced_index.hpp>
#include <iostream>
using namespace boost::multi_index;
typedef multi_index_container<
int,
indexed_by<sequenced<> >
> Ints;
int main()
{
Ints ints;
ints.insert(ints.end(), 1);
ints.insert(ints.end(), 2);
ints.insert(ints.end(), 3);
ints.insert(ints.end(), 4);
std::for_each (ints.begin(), ints.end(), [&](int i) { std::cout << i << std::endl; }); // 1, 2, 3, 4
auto i = find(ints.begin(), ints.end(), 2);
ints.relocate(ints.end(), i);
std::for_each (ints.begin(), ints.end(), [&](int i) { std::cout << i << std::endl; }); // 1, 3, 4, 2
}