摘要: C++ 虚函数表解析http://blog.csdn.net/haoel/article/details/1948051C++中虚函数工作原理和(虚)继承类的内存占用大小计算http://blog.csdn.net/hackbuteer1/article/details/7883531C++虚函数及... 阅读全文
posted @ 2014-10-27 15:54 Jessica程序猿 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 如果类重载了函数调用运算符,则我们可以像使用函数一样使用该类的对象。因为这样的类同时也能存储状态,所以与普通函数相比它们更加灵活。例如:struct absInt{ int operator()(int val) const{ return val<0?-val:val; ... 阅读全文
posted @ 2014-10-27 11:35 Jessica程序猿 阅读(1174) 评论(0) 推荐(0) 编辑
摘要: 在迭代器类及智能指针类中常常用到解引用运算符(*)和箭头运算符(->)。 阅读全文
posted @ 2014-10-27 11:24 Jessica程序猿 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 在迭代器类中通常会实现递增运算符(++)和递减运算符(--),这两种运算符使得类可以在元素的序列中前后移动。C++语言并不要求递增和递减运算符必须是类的成员,但是因为它们改变的正好是所操作对象的状态,所以建议将其设定为类的成员。 阅读全文
posted @ 2014-10-27 11:23 Jessica程序猿 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 表示容器的类通常可以通过元素在容器中的位置访问元素,这些类一般会定义下标运算符operator[]。下标运算符必须是成员函数。 阅读全文
posted @ 2014-10-27 11:20 Jessica程序猿 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 已经介绍过拷贝赋值和移动赋值运算符,它们可以把类的一个对象赋值给该类的另一个对象。此外,类还可以定义其他赋值运算符以使用别的类型作为右侧运算对象。 阅读全文
posted @ 2014-10-27 11:18 Jessica程序猿 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 通常情况下,我们把算术和关系运算符定义成非成员函数以允许对左侧或右侧的运算对象进行交换。因为这些运算符一般不需要改变运算对象的状态,所以形参都是常量的引用。 阅读全文
posted @ 2014-10-27 11:16 Jessica程序猿 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 如我们所知,IO标准库分别使用>>和<<执行输入和输出操作。对于这两个运算符来说,IO库定义了用其读写内置类型的版本,而类则需要自定义适合其对象的新版本以支持IO操作。1重载输出运算符<<通常情况下,输出运算符的第一个形参是一个非常量ostream对象的引用。 阅读全文
posted @ 2014-10-27 11:14 Jessica程序猿 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 当运算符被用于类类型的对象时,C++语言允许我们为其指定新的含义;同时,我们也能自定义类类型之间的转换规则。和内置类型的转换一样,类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。 阅读全文
posted @ 2014-10-27 11:11 Jessica程序猿 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 由编译器自动分配的内存都有着严格的生存期。全局对象在程序启动时分配,在程序结束时销毁。对于局部自动对象,当我们进入其定义所在的程序块时被创建,在离开块时销毁。局部static对象在第一次使用前分配,在程序结束时销毁。除了自动和static对象外,C++还支持动态分配对象。动态分配的对象的生存期与它们... 阅读全文
posted @ 2014-10-27 10:58 Jessica程序猿 阅读(1347) 评论(0) 推荐(0) 编辑