摘要: 宏不遵循C++中关于范围和类型的规则。这经常导致一些微妙的或不那么微妙的问题。因此,C++提供更适合其他的 C++(译注:原文 the rest of C++,当指 C++除了兼容 C 以外的部分)的替代品,例如内联函数、模板与名字空间。
阅读全文
摘要:
写出那些不会导致任何内存泄漏的代码。很明显,当你的代码中到处充满了 new 操作、delete操作和指针运算的话,你将会在某个地方搞晕了头,导致内存泄漏,指针引用错误,以及诸如此类的问题。这和你如何小心地对待内存分配工作其实完全没有关系:代码的复杂性最终总是会超过你能够付出的时间和努力。于是随后产生了一些成功的技巧,它们依赖于将内存分配(allocations)与重新分配(deallocation)工作隐藏在易于管理的类型之后。标准容器(standard containers)是一个优秀的例子。它们不是通过你而是自己为元素管理内存,从而避免了产生糟糕的结果。想象一下,没 string 和 vector 的
帮助,写出这个:
阅读全文