其实这条 Term 的重点不在于抛出异常,而在于怎么实现一个高效的swap,不抛出异常的要求是相对比较好保证的 标...[作者空间]
尽管隐式类型转换不是一个好东西,但是有时我们又不得不需要它,比如在做数学计算的时候,必须允许不同类型的数字进行混合...[作者空间]
面向对象的核心之一是:封装性越强越好。而封装的含义是:越少东西被看到,封装性越好。因为当我们改动代码的时候,对其余...[作者空间]
将数据成员声明为private的好处有 对用户来说,更一致的访问方式:通过函数访问,而不需要再记忆访问数据成员时需...[作者空间]
pass-by-reference-to-const 的好处: 避免拷贝构造函数的开销 避免 slicing 问题...[作者空间]
有时候我们会写出这样考虑不够周全的代码 实际调用这句时,如果是 会有三个动作发生 调用new 构造shared_p...[作者空间]
析构函数往往身肩销毁资源等一些十分重要的责任,但如果析构函数在销毁资源的过程中吐出了一个异常,它就没有办法继续正常...[作者空间]
如果我们不想要编译器自动生成的 copy constructor 或者其他一些函数应该怎么办呢? 方法一 将 co...[作者空间]
首先提一句,C++默默编写的函数都是 public 且 inline 的 default 构造函数 如果你没有声明...[作者空间]
利用成员初值列初始化成员变量 对于用户自定义类型来说,成员初值列的初始化效率比赋值操作要高,对于内置类型而言则差别...[作者空间]
区分const修饰的对象 const出现在星号左边:被指物是常量 const出现在星号右边:指针本身是常量 con...[作者空间]
define用于常量的缺点 通过#define定义的变量不进入symbol table,无法调试 替代方式: 将常...[作者空间]