Boost智能指针模块的测试程序
Boost是C++中一个非常流行的库,提供了各种各样的工具和模块。其中boost::smart_ptr模块是其重要的一部分,它提供了多种智能指针类型,比如shared_ptr、scoped_ptr等,可以有效避免C++中常见的内存泄漏和野指针问题。下面是一个使用boost::smart_ptr模块的测试程序。
#include <iostream>
#include <boost/smart_ptr.hpp>
class MyClass {
public:
MyClass() { std::cout << "MyClass constructor" << std::endl; }
~MyClass() { std::cout << "MyClass destructor" << std::endl; }
void sayHello() { std::cout << "Hello, world!" << std::endl; }
};
void testSharedPtr() {
boost::shared_ptr<MyClass> p1(new MyClass);
std::cout << "p1 count: " << p1.use_count() << std::endl;
{
boost::shared_ptr<MyClass> p2 = p1;
std::cout << "p1