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   直接修改

猜你喜欢

转载自blog.csdn.net/qq_41103495/article/details/107942204
今日推荐