摘要:
表示容器的类通常可以通过元素在容器中的位置访问元素,这些类一般会定义下标运算符operator[]。下标运算符必须是成员函数。 阅读全文
摘要:
已经介绍过拷贝赋值和移动赋值运算符,它们可以把类的一个对象赋值给该类的另一个对象。此外,类还可以定义其他赋值运算符以使用别的类型作为右侧运算对象。 阅读全文
摘要:
通常情况下,我们把算术和关系运算符定义成非成员函数以允许对左侧或右侧的运算对象进行交换。因为这些运算符一般不需要改变运算对象的状态,所以形参都是常量的引用。 阅读全文
摘要:
如我们所知,IO标准库分别使用>>和<<执行输入和输出操作。对于这两个运算符来说,IO库定义了用其读写内置类型的版本,而类则需要自定义适合其对象的新版本以支持IO操作。1重载输出运算符<<通常情况下,输出运算符的第一个形参是一个非常量ostream对象的引用。 阅读全文
摘要:
当运算符被用于类类型的对象时,C++语言允许我们为其指定新的含义;同时,我们也能自定义类类型之间的转换规则。和内置类型的转换一样,类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。 阅读全文
摘要:
由编译器自动分配的内存都有着严格的生存期。全局对象在程序启动时分配,在程序结束时销毁。对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁。局部static对象在第一次使用前分配,在程序结束时销毁。除了自动和static对象外,C++还支持动态分配对象。动态分配的对象的生存期与它们... 阅读全文