gpt4 book ai didi

c++ - 哪些有效的 C++ 项目可以通过 C++11 更好地实现?如何?

转载 作者:行者123 更新时间:2023-12-02 03:09:31 25 4
gpt4 key购买 nike

自本书Effective C++似乎是 still worth readingthe best to start with from the Effective C++ series ,我想知道哪些建议的解决方案/实现我不需要详细了解/记住,因为 C++11 或更高版本中有更好的解决方案。所以:

哪些有效的 C++ 项目可以通过 C++11 或更高版本更简单或更好地实现?现在如何实现它们,以哪种方式更好?

<小时/>

详细信息:

因为有many C++ idioms deprecated in C++11 ,我想这也影响了Effective C++书中的解决方案。例如,查看 its table of contents ,我猜(因为我还没有读过这本书)

  • 第 6 项(明确禁止使用您不想要的编译器生成的函数)通过​​ =delete 变得更简单
  • 第 17 项(在独立语句中将新对象存储在智能指针中)通过 make_shared 变得更简单(以及 C++14 的 make_unique )
  • 第 21 条(必须返回对象时不要尝试返回引用)通过移动语义变得更简单、更高效
  • 第 55 项(熟悉 Boost)现在的示例较少,因为许多 boost 功能也是 C++11 或更高版本的一部分。

正确吗?还有吗?这些项目是如何在现代 C++ 中实现的?

最佳答案

Effective C++ 中的许多秘诀仍然适用于 C++11。顺便说一句,Effecive Modern C++ 重点关注 C++11 的变化。

这个问题非常广泛,但我想到的是:

5) 仍然正确,但不要忘记移动构造函数和赋值。
6)仍然正确,但现在更容易,正如您已经解释的
13) 原理仍然正确,但忘记了 auto_ptr 并使用了 shared_ptrunique_ptr
14) 仍然正确,但使用 shared_ptr 进行了简化。
17)仍然正确,但现在更容易,正如您已经解释的
18) 仍然正确,但更喜欢枚举类而不是枚举。
54) 仍然适用,但适用于新库
55) 仍然如此,尽管现在标准中有更多的增强功能

使用 autorange for 可以简化许多示例

关于c++ - 哪些有效的 C++ 项目可以通过 C++11 更好地实现?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com