![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识
文章平均质量分 77
宴之敖者、
这个作者很懒,什么都没留下…
展开
-
C++内存管理
char2也是在栈上面,字符串确实是存放在常量区的,但是这里表示的意思是讲字符串存放进数组里,而*char也表示首元素的地址,数组开好后就放在了栈上面,所以*char就是存放在栈上面的。因为系统在开辟空间时会多开4个字节,来存储要调用多少次构造函数,在delete时,指针本来指向数组的首位,这时就会向前移动四个字节,取出里面的数字,就能得出要调用多少次析构函数了。pchar3是一个局部变量,是存放在栈上面的,而*pchar3则是指pchar3所指向的那块空间,是存放在常量区的。原创 2024-07-19 14:39:18 · 318 阅读 · 0 评论 -
C++友元
至于为什么要加const是因为当传第二个参数2时,会先产生一个临时对象,这个临时对象具有常性,所以使用引用传参时才需要加上const。这里的意思是Date是Time的友元,那么就能在Date里访问Time,但是Time并不能访问Date。另外,如果内部类是共有的就可以直接使用,若是私有的就不能使用了,说明内部类也受访问限定符的限制。这种友元关系是单向的,我是你的友元,你不一定是我的友元。这里的类B是类A的一个内部类,还可以看出A的大小只有4。就能发现,类B跟类A在空间独立的,只是受A的类域限制。原创 2024-07-19 14:34:11 · 172 阅读 · 0 评论 -
const修饰的成员,静态成员和匿名对象
这里调用了13次构造函数,除了前面的3次,还有创建数组的10次,这个数组里面10个对象,就会调用10次构造函数,自定义类型的数组是会调用构造函数进行初始化的。就可以把const加到这个位置,这时的函数叫cosnt成员函数,这样就可以修饰this指针了。其实是出现了权限的放大,这里传给print函数时的类型是A的this指针,但是aa的类型是const修饰后的A的指针。如果定义全局变量就会出现谁都能修改的问题,而C++讲究的是封装,所以全局变量并不靠谱。相对的,在静态成员函数里并不能访问非静态的成员。原创 2024-07-19 14:31:25 · 205 阅读 · 0 评论 -
运算符重载和初始化列表
但由于调用函数是上面的,那么具体使用就变成了下面的,因为ostream类不能修改,所以就只能写在日期类里面了,但是写在日期类里面的话,日期类对象就抢占了第一个参数,所以cout就只能写在后面了。默认生成的构造函数对内置类型不作处理,这里的_x成员变量是int类型的,编译器也不会作处理,但是这是个const修饰的变量,const修饰的变量只读不写,必须在定义的位置就初始化。这里的两行代码也是拷贝构造;i并不是直接转换成a的,而是会产生一个double类型的临时变量,i的值赋给临时变量,再由临时变量赋值给a。原创 2024-07-19 14:24:30 · 544 阅读 · 0 评论 -
略讲操作符ヾ(●゜ⅴ゜)ノ
简单讲解了各类操作符原创 2023-01-20 22:27:02 · 74 阅读 · 0 评论 -
函数和数组(o゜▽゜)o☆
粗略讲了while循环,函数和数组原创 2023-01-16 19:14:32 · 49 阅读 · 0 评论 -
我是谁? 字符串和转义字符
大概的讲解了字符串和转义字符的相关知识,以及一些补充芝士原创 2023-01-13 22:24:33 · 81 阅读 · 0 评论 -
C语言知识の初体验 数据类型&&常变量
本篇较为笼统的聊了一下数据类型和常量与变量原创 2023-01-10 21:02:52 · 107 阅读 · 0 评论 -
C语言入门
本文主要讲解如何从零开始到写出最简单的C语言代码原创 2023-01-10 14:24:59 · 55 阅读 · 0 评论