摘要:
4.2 Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别不论是 increment 或 decrement 的前缀还是后缀都只有一个参数。为了解决这个语言问题,C++规定后缀形式有一个 int 类型参数,当函数被调用时,编译器传递一个 0 做为 int 参数的值给该函数 1 #include <iostream> 2 3 class UInt{ 4 public: 5 explicit UInt(int i = 0) : m_int(i) { } 6 ~UInt() { } 7 UInt(const U... 阅读全文
摘要:
More Effective C++的笔记4.1 Item M5:谨慎定义类型转换函数 1 #include <iostream> 2 3 4 class Rational { 5 public: 6 explicit Rational(int numerator = 0, int denominator = 1); 7 //拷贝构造函数不需要explicit修饰,否则需要再定义一个 8 //非const构造参数的构造函数,此处允许的非const转const是无害转换 9 Rational(const Rational &);10 ~Rational... 阅读全文