小编nik*_*aza的帖子

我应该使用shared_ptr <Object> myObject =(shared_ptr <Object>)new Object()来访问私有构造函数吗?

我正在使用代码库,它广泛使用以下语法:

shared_ptr<Object> myObject = (shared_ptr<Object>) new Object();
Run Code Online (Sandbox Code Playgroud)

我注意到我无法访问私有构造函数make_shared,但shared_ptr<Object> myObject = (shared_ptr<Object>) new Object();工作得很好.我应该使用它只是因为它似乎工作?有危险吗?它有什么不同make_shared?

我知道这个问题的答案,它在make_shared和之间进行了比较:

std::shared_ptr<Object> p2(new Object("foo"));
Run Code Online (Sandbox Code Playgroud)

但是我找不到对我遇到的语法的引用.它是不同的,还是与上面相同?

c++ constructor shared-ptr c++11

7
推荐指数
1
解决办法
301
查看次数

如何通过优化看到C++代码的编译器重构

我想知道是否/如何可以看到编译器在启用优化时如何使用clang ++/g ++重构一段代码.我知道英特尔编译器有一个标志来产生相关的输出,但我似乎无法找到其他编译器中的等价物.

c++ g++ clang compiler-optimization

6
推荐指数
1
解决办法
729
查看次数