1

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

就像在指针的地方使用 SmartPointers

4

2 回答 2

15

避免 malloc,使用 new。

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

避免#defines,使用consts。

避免(C-style) casts,使用static_cast<C++>( style casts )

避免使用宏,使用模板。

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

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

避免指向新对象的指针,使用boost::scoped_ptrboost::shared_ptr.

避免编写自己的代码来遍历集合,使用<algorithm>s

避免重新发明轮子,看看 boost 是否有你需要的东西。

避免使用“char * name”来存储字符串,使用 std::string。

避免using namespace foo,使用using foo::bar

避免“静态(内部链接)声明”使用未命名的命名空间。

于 2009-05-04T09:48:57.050 回答
1

使用新风格的演员表

static_cast、const_cast、reinterpret_cast、dynamic_cast、

而不是不再被认为是完全安全的 C 风格强制转换

也更喜欢在运行时使用 STL 容器而不是动态调整数组大小

于 2009-05-05T14:06:53.647 回答