[C/C++] 第14章 重载操作符与转换 《C++ Primer》
第14章:重载操作符与转换
——这章的学习笔记比较少,因为将本章看了一遍后,感觉可以收益的地方,的确不算多。
@学习摘录159:输入和输出操作符最主要区别
——输入和输出操作符有如下区别:输入操作符必须处理错误和文件结束的可能性。
第九节:转换与类类型
@学习摘录160:避免转换函数的过度使用
——转换操作符有两个潜在的缺陷:
——1. 定义太多转换操作符可能导致二义性代码;
——2. 一些转换可能弊大于利。
——避免二义性最好的方法是:
——保证最多只有一种途径将一个类型转换为另一类型。
——做到这一点,最好的方法是限制操作符的数目,尤其中,到一种内置类型应该只有一个转换。
@学习摘录161:转换和操作符
——如果类既定义了转换操作符又定义了重载操作符,容易产生二义性。
——1. 不要定义相互转换的类,即如果类Foo具有接受类Bar的对象的构造函数,不要再为类Bar定义到类型Foo的转换操作符。
——2. 避免到内置算术类型的转换。
《C++ Primer》第四部分学习笔记汇总——面向对象编程与泛型编程
——继承,动态绑定,数据抽象,函数模板
——这章的学习笔记比较少,因为将本章看了一遍后,感觉可以收益的地方,的确不算多。
@学习摘录159:输入和输出操作符最主要区别
——输入和输出操作符有如下区别:输入操作符必须处理错误和文件结束的可能性。
第九节:转换与类类型
@学习摘录160:避免转换函数的过度使用
——转换操作符有两个潜在的缺陷:
——1. 定义太多转换操作符可能导致二义性代码;
——2. 一些转换可能弊大于利。
——避免二义性最好的方法是:
——保证最多只有一种途径将一个类型转换为另一类型。
——做到这一点,最好的方法是限制操作符的数目,尤其中,到一种内置类型应该只有一个转换。
@学习摘录161:转换和操作符
——如果类既定义了转换操作符又定义了重载操作符,容易产生二义性。
——1. 不要定义相互转换的类,即如果类Foo具有接受类Bar的对象的构造函数,不要再为类Bar定义到类型Foo的转换操作符。
——2. 避免到内置算术类型的转换。
《C++ Primer》第四部分学习笔记汇总——面向对象编程与泛型编程
——继承,动态绑定,数据抽象,函数模板