C++学习笔记
小田的一天天
这个作者很懒,什么都没留下…
展开
-
10.18 深拷贝浅拷贝(面试重点)静态成员变量
系统默认的构造拷贝函数,进行的是浅拷贝,没有新开辟空间,可能会两次释放空间,此时两个变量地址相同 自己写一个拷贝构造函数,给新的对象new一个空间,这样两个变量有不同的地址,相同的值 静态成员变量 特点: 1 全部共用一个地址 2 在编译的时候已经分配地址 3 类内声明,类外定义 4 可以说是属于任何对象,和该类,都可以调用,也有私有和共有 静态成员函数 只能调用静态成员变量,也有私有和共有 通过...原创 2019-12-01 11:37:19 · 300 阅读 · 0 评论 -
10.23 类模板
明天总结函数模板,类模板,其实就是不指定参数类型的原创 2019-10-24 14:51:52 · 85 阅读 · 0 评论 -
10.18拷贝构造的运用场景,默认的构造析构函数
1 单纯拷贝,从一个已经创建的对象拷贝 Person p(2); Person q(&p); 2 参数传递 void test(Person p){} Person q(2); test(q) //此时会 创建一个q副本,传给p 注意,主要看拷贝构造函数是怎么写的,因为构造q的时候是用有参构造函数,而拷贝q的时候用的拷贝构造函数 当两者不同时,q和p也不想同 所以q和p有可能不同 3...原创 2019-10-18 11:35:30 · 73 阅读 · 0 评论 -
10.17 引用,类的三种权限,构造函数,析构函数
int a = 1; int &i = a; i为a的引用,可以代替a,并且可以作为参数传过去,与传地址过去效果一样 如 void test (int &a){} test (i) 引用做返回值 1 不要返回局部变量的引用 2 下面是 引用作为返回值,函数返回值可以直接作为等式的左值,并且能改变变量的值 int& test(){ static int a = 10...原创 2019-10-18 10:23:56 · 108 阅读 · 0 评论 -
10.16常量指针 结构体指针
const 常量指针 const int *p = &a; 常量指针 可以改指向,不能改指向的值 int * const p =&a; 指针常量 可以改值 int const * const p =&a; 谁都不能改 关键是看 const限定的是谁 名字 这样记: const 常量 ,* 指针 结构体指针 用箭头访问结构体的成员 struct student *P;...原创 2019-10-17 20:39:29 · 450 阅读 · 0 评论 -
成员函数的定义
建议的模式 类内声明,类外定义 class test { private: int num; char name[30]; public: int setnum(int num); void setName(char *str); } int test :: int setNum( int num ){ num=40; } ...原创 2019-10-17 20:38:58 · 604 阅读 · 0 评论 -
10.14 引用 类的公有私有
引用 int a ; int &b=a; #即b对a的引用,此时b,a的地址是一样的 传参数的时候,引用相当于地址,可以改变函数的值 类的公有私有 私有类:只能被类中的函数调用,不能被外部调用 并且默认是私有类 class test{ private: int num; } test obj; obj.num; //这是错误的 不能被外部调用 只有在实例化对象时,才能给变量赋值 ...原创 2019-10-14 16:24:28 · 82 阅读 · 0 评论 -
C++学习笔记10.9
1 const 只读修饰符 在c++中,只读变量值一旦确定,以后读值是在变量表里读,而不是去地址里读,地址的内容仍然可以改变,但是不会被在读取该变量时用到。 2 inline函数 内联函数 在简单的函数,如不带循环,swich,前面加上 inline,则在编译的时候会将函数展开为类似于宏定义 ,在调用时直接展开,没有了函数调用的压栈出栈操作,唯一不好是可能代码量会多一点 ...原创 2019-10-10 08:59:17 · 78 阅读 · 0 评论