相关疑难解决方法(0)

C++中make_shared和普通shared_ptr的区别

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

许多google和stackoverflow帖子就在这里,但我无法理解为什么make_shared比直接使用更有效shared_ptr.

有人可以一步一步解释我创建的对象序列和两者所做的操作,这样我就能理解make_shared效率如何.我在上面给出了一个例子供参考.

c++ shared-ptr c++11

252
推荐指数
5
解决办法
9万
查看次数

C++演员语法样式

Regular cast vs. static_cast vs. dynamic_cast相关的问题:

你更喜欢C++中的演员语法风格?

  • C风格的演员语法: (int)foo
  • C++ - 样式转换语法: static_cast<int>(foo)
  • 构造函数语法: int(foo)

它们可能无法转换为完全相同的指令(是吗?)但它们的效果应该相同(对吗?).

如果你只是在内置数值类型之间进行转换,我发现C++风格的转换语法太冗长了.作为以前的Java编码器,我倾向于使用C风格的转换语法,但我的本地C++专家坚持使用构造函数语法.

你怎么看?

c++ casting coding-style

30
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×2

c++11 ×1

casting ×1

coding-style ×1

shared-ptr ×1