c ++旧功能的更好替代方案?

时间:2009-05-04 09:42:01

标签: c++ language-features

c ++已经走过了漫长的道路,它有很多功能,可以通过多种方式完成同样的任务。 您认为应该避免哪些功能,并列出更好的替代方案。

  

喜欢在地方使用SmartPointers   指针

2 个答案:

答案 0 :(得分:15)

避免使用malloc,使用new。

避免使用memcpy,使用复制构造函数。

避免#defines,请使用const s。

Avoid (C-style) casts, use static_cast<C++>( style casts ).

避免使用宏,使用模板。

如果可以使用预增量,请避免后增量。

避免使用new,使用值类型集合,让集合处理内存管理。

避免指向新对象,使用boost::scoped_ptrboost::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容器,而不是在运行时动态调整数组大小