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