#include <boost/ptr_container/ptr_vector.hpp>
#include <algorithm>
#include <iostream>
struct sineru {
int i_;
sineru(int i) : i_(i) { std::cout << "sineru::sineru(" << (void*)this << ")" << std::endl; }
~sineru() { std::cout << "sineru::~sineru(" << (void*)this << ")" << std::endl; }
bool operator < (const sineru& rhs) const { return i_ < rhs.i_; }
};
int main() {
boost::ptr_vector<sineru> v;
for( int i = 5; i > 0; --i ) v.push_back( new sineru(i) );
std::sort( v.begin(), v.end() );
std::cout << "====== sorted ======" << std::endl;
return 0;
}
実行結果
sineru::sineru(003B20C8)
sineru::sineru(003B2148)
sineru::sineru(003B2138)
sineru::sineru(003B2158)
sineru::sineru(003B2168)
sineru::~sineru(0018FE48)
sineru::~sineru(0018FE48)
sineru::~sineru(0018FE48)
sineru::~sineru(0018FE48)
====== sorted ======
sineru::~sineru(003B20C8)
sineru::~sineru(003B2148)
sineru::~sineru(003B2138)
sineru::~sineru(003B2158)
sineru::~sineru(003B2168)
おいどんが、悪かったでごわす。move が導入されるまで、もう2度と ptr_container は、使いたくないでごわす。
0 件のコメント:
コメントを投稿