C++总复习--4--C++程序设计--运算符重载
C++总复习--4--C++程序设计--运算符重载
1.基础运算符的重载机制
2.浅拷贝
3.深拷贝
4.写时拷贝
1.基础运算符的重载机制
Operator+重载的运算符
+ - != == < > << >>
运算符重载规则:
(1)不能改变运算符的优先级和结合性
(2)不能改变运算符的用法
(3)不能创造新的运算符
(4)不允许有函数的默认值
迭代器
优点:避免暴露容器内部的可能
提供了统一的容器遍历方式
2.浅拷贝:
简单的赋值,多个指针指向同一个堆内存
优点: 共享 节省空间
3.深拷贝:
每个对象都拥有自己独立的资源 资源占用太大 只访问 ,内存的访问率太低
4.写时拷贝
(1)写之前
浅拷贝 该内存的释放 最后一个对象销毁时释放
怎么判断最后一个对象
Count:该堆内存有多少对象指向
Strlen(ptr)+1 +4 1:结束符 4:count计数器
(2)写时
深拷贝 Operator[]
(2.1)判断count>1 深拷贝
(2.2)=1 直接修改