我们可以通过三种方式初始化shared_pointer。
1. shared_ptr<int>p(new int(8));
2. shared_ptr<int>p=shared_ptr<int>(8);
3. shared_ptr<int>p=make_shared<int>(8);
在单操作初始化和异常处理支持方面,我们知道3rd语句比1st语句更具优势。
根据抛出的异常,性能等,第一条和第二条语句之间是否有区别。
答案 0 :(得分:0)
第二种初始化方法不起作用。 必须是:
shared_ptr<int> p2 = shared_ptr<int>(new int(8));
除此之外,1和2之间没有区别,因为两者都使用相同的构造函数。