小编use*_*354的帖子

make_shared真的比新的更有效吗?

我与尝试shared_ptr,并make_shared从C++ 11和编程的小玩具的例子来看看调用时什么是实际发生的事情make_shared.作为基础设施,我使用llvm/clang 3.0以及XCode4中的llvm std c ++库.

class Object
{
public:
    Object(const string& str)
    {
        cout << "Constructor " << str << endl;
    }

    Object()
    {
        cout << "Default constructor" << endl;

    }

    ~Object()
    {
        cout << "Destructor" << endl;
    }

    Object(const Object& rhs)
    {
        cout << "Copy constructor..." << endl;
    }
};

void make_shared_example()
{
    cout << "Create smart_ptr using make_shared..." << endl;
    auto ptr_res1 = make_shared<Object>("make_shared");
    cout << "Create smart_ptr using make_shared: done." …
Run Code Online (Sandbox Code Playgroud)

c++ clang shared-ptr make-shared libc++

50
推荐指数
3
解决办法
4万
查看次数

标签 统计

c++ ×1

clang ×1

libc++ ×1

make-shared ×1

shared-ptr ×1