프로그래밍 | 2012. 2. 21. 23:22
v.push_back(boost::shared_ptr대충 알고 써먹은 boost를 천천히 훑어보기로 맘먹고 보는데 Pointer Container라는 것이 있어서(new int(1)));
class PtrTest { public: PtrTest() {value_ = 0;}; ~PtrTest() {}; PtrTest(const PtrTest& other) { std::cout << "Copy Const" << std::endl; value_ = other.value_; } PtrTest& operator=(const PtrTest& rhs) { if(this == &rhs) { return *this; } std::cout << "= Operator" << std::endl; this->value_ = rhs.value_; return *this; } void SetValue(int value) {value_ = value;} int GetValue() {return value_;} private: int value_; }; TEST(PtrVectorTest, ptr_vector_test) { boost::ptr_vectorptr_vector; PtrTest* test_a = new PtrTest; test_a->SetValue(1); PtrTest* test_b = new PtrTest; test_b->SetValue(2); ptr_vector.push_back(test_a); ptr_vector.push_back(test_b); ptr_vector.push_back(new PtrTest); PtrTest* test_ptr = &ptr_vector[0]; EXPECT_EQ(1, test_ptr->GetValue()); PtrTest test_ptr_2 = ptr_vector[1]; EXPECT_EQ(2, test_ptr_2.GetValue()); EXPECT_EQ(3, ptr_vector.size()); ptr_vector.erase(ptr_vector.begin()); EXPECT_EQ(2, ptr_vector.size()); }
기본 생성자와 생성자 오버로딩 (0) | 2012.09.08 |
---|---|
eclipse에 pydev 설정 에러 처리 (0) | 2012.06.18 |
Office Add-in 만들기. (0) | 2012.02.08 |
Lua 테이블 내용 출력하기 (0) | 2012.01.28 |
Lua Table 복사에 대한 처리 (0) | 2012.01.16 |
Recent Comments