c ++已经走过了漫长的道路,它有很多功能,可以通过多种方式完成同样的任务。 您认为应该避免哪些功能,并列出更好的替代方案。
喜欢在地方使用SmartPointers 指针
答案 0 :(得分:15)
避免使用malloc,使用new。
避免使用memcpy,使用复制构造函数。
避免#defines
,请使用const
s。
Avoid (C-style) casts
, use static_cast<C++>( style casts )
.
避免使用宏,使用模板。
如果可以使用预增量,请避免后增量。
避免使用new,使用值类型集合,让集合处理内存管理。
避免指向新对象,使用boost::scoped_ptr
或boost::shared_ptr.
避免编写自己的代码来遍历集合,使用<algorithm>
s
避免重新发明轮子,看看助力是否符合您的需要。
避免使用“char * name”来存储字符串,请使用std :: string。
Avoid using namespace foo
, use using foo::bar
.
避免“静态(内部链接)声明”使用未命名的命名空间。
答案 1 :(得分:1)
使用新款演员
的static_cast, const_cast会, reinterpret_cast的, 的dynamic_cast,
而不是不再被视为完全安全的C样式演员
还喜欢使用STL容器,而不是在运行时动态调整数组大小