Ger*_*ano 134 c++ coding-style effective-c++ c++11
从我在这篇文章中看到的内容,我决定开始阅读Effective C++这本书.
但是现在由于C++ 11而有许多新功能,并且一些好的实践发生了变化,我不确定它是否真的是一个好主意.C++ 11的出现是否弃用了Effective C++中包含的任何建议?如果是这样,我应该避免哪些主题?
Tem*_*Rex 89
这可能会让您想知道这个C++ 0x版本的Effective C++中的信息和建议是否仍然相关.我很高兴地报告它确实如此.事实上,令人惊讶的是.花了将近两年的时间沉浸在C++ 0x的细节中,我期待呻吟一下,因为我在阅读本书的目录时考虑到了C++ 0x.肯定有些项目不合适.但我发现的建议证明是合理的.C++ 0x开发人员应该更喜欢consts,enums和inlines
#defines(第2项)吗?他们应该.他们是否应该阻止异常离开析构函数(第8项)?当然.他们应该使用对象来管理资源吗?声明数据成员是私有的吗?考虑虚拟功能的替代方案?与模板无关的因子参数代码?(第13,22,35和44项.)是,是的,是的,是的!我的目标一直是针对Effective C++的目录,总结本书中的建议,并且该摘要仍然适用于C++ 0x开发以及"传统"C++开发.C++ 0x是一种更大的语言,在某些方面它是一个不同的语言,但有效使用"旧"C++的核心技术也是有效使用C++ 0x的核心.这并不意味着这个有效的C++是C++ 0x的完美匹配.本书没有讨论C++ 0x的新功能,因此缺少有关有效使用这些功能的项目.一个C++ 0xified有效的C++肯定会有专门用于移动操作,统一初始化和lambda表达式的项目,它可能有一整章关于有效使用并发API.这样的书还将包含不同的示例,例如,使用自动变量,基于范围的for循环,类内默认初始值设定项以及偶尔的可变参数模板.如果本书不支持C++ 0x,那么错误就是遗漏,而不是委托.
更新:自2014年11月起,O'Reilly和亚马逊(以及其他许多你可以谷歌推出)的新标题Effective Modern C++已经出售.
cdm*_*dmh 44
是的,绝对值得一读.Scott正在开发一本新书:Effective C++ 11,它专注于仅使用C++ 11的代码.在有效的C++仍然是非常相关的,而不是由新书取代.买它,读它,享受:)
dje*_*lin 20
一,这本书当然对C++ 03有效.
二,Meyers写作或写作,取决于你何时阅读这句话,Effective C++ 11.
三,一般而言,本书的要点仍然有效.C++仍然倾向于速度超过安全性,而Effective C++中的许多问题都围绕着这个问题.
该只种一点我希望是无效的是那些说"不要这样做,这样做吧." "不要这样做"仍然有效.但是C++将解决一些问题.特别是,任何使用boost的建议都可能被弃用,因为C++ 11包含了Meyers特别将读者引用到Boost的许多功能.