【发布时间】:2016-06-12 21:03:57
【问题描述】:
因为这本书Effective C++ 似乎是 still worth reading 和 the 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,我猜(因为我还没有读过这本书)
- 通过
=delete,第 6 项(明确禁止使用您不想要的编译器生成的函数)变得更简单 - 通过
make_shared(和 C++14 的make_unique)使第 17 项(将新对象存储在独立语句中的智能指针中)变得更简单 - 第 21 条(必须返回对象时不要尝试返回引用)通过移动语义变得更简单、更高效
- 第 55 项(熟悉 Boost)现在示例较少,因为许多 Boost 功能也是 C++11 或更高版本的一部分。
对吗?还有吗?这些项目是如何在现代 C++ 中实现的?
【问题讨论】:
-
这些观点的寓意没有改变。 C++11 可能为您提供了更好的方法来编写遵循这些想法的代码,但这最终是一个细节。您永远不应该纠结于任何一个特定的细节,而是首先要了解正在解决的问题以及问题存在的原因。
-
其中一些在 Effective Modern C++ 中得到解决,不管它值多少钱。老实说,这是一个很好的起点。
-
在你的职业生涯中,你很可能会遇到前后 c++ 代码。如果我是你,我会读这两本书。
标签: c++ c++11 c++14 deprecated