太极1:深浅拷贝 const和static

26 篇文章 0 订阅

浅拷贝:
表层对其进行引用,实际指向同一块内存
深拷贝:
当发生拷贝构造或者赋值的时候,让每个对象都拥有自己独立的资源
写时拷贝:
浅拷贝+引用计数(记录资源被多少个对象在共享)+当多个资源共享资源时,只要有一个对象修改资源中的内容,将该对象独立出来(给该对象重新分配空间)
----------------------------分界线---------------------------------------
运算符重载:
为了增加代码的可读性而给出的
除了 .* :: sizeof ?: . 基本都可以重载
运算符重载时候的注意事项:
1.不能臆造一个运算符:operator@
2.运算符重载时必须符合该运算符的含义----operator+()–>其内部按照减法来实现
3.如果该运算符重载为类的成员函数时,其形参个数少一个,因为有隐藏的this
-------------------------分界线-----------------------------------------
const 关键字:
C语言:const只能修饰变量,表明该变量中的内容不能修改,因此在定义被const修饰的变量时,需要给出该变量的初始值
如:const int a=10;
a仍旧是一个变量,只不过该变量中的值不能修改

C++:
const变量------>表明该变量已经是一个常量了,而且具有宏替换的属性,编译器在编译阶段,会将常量替换为其对应的常量值。
在C++中建议尽量使用const定义的常量来取代宏常量

const类成员变量:
该成员变量必须要在构造函数初始化列表的位置进行初始化
即:如果类中包含有const修饰的成员变量,则该类必须显式提供构造函数

const类成员函数:
const修饰类成员函数,实际修饰的是隐藏的this指针
const不能修改静态成员函数
const成员函数中不能修改任何非静态成员变量,也不能调用任何非const成员

---------------------------------------分界线---------------------------
static:
C语言:
1.变量
修饰全局变量、局部变量
2.函数:该函数只能在该文件中进行使用

C++:
1,变量
	全局变量、局部变量------>和C语言中相同
	static修饰类中的成员变量-------->静态成员变量
2.   函数
	普通函数------->和C语言中的相同
	static修饰类中的成员函数-------->静态成员函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值