![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++stduy
文章平均质量分 70
在C语言的基础上对C++的深入学习拓展
逸兴云飞~
人生就是这样,要耐的住寂寞,才守得住繁华
展开
-
C++编译器对临时对象的优化
C++编译器对临时对象的优化原创 2023-11-14 18:40:49 · 142 阅读 · 0 评论 -
C++类和对象——面向对象的内存模型
(该指针在C++中叫做this指针原型int(C2 * const this)),这是因为C++编译器会将成员函数的第一个形参设计为this指针,this指针指向调用成员函数的首地址,指向成员函数的得对象,在成员函数执行的过程中,正是通过“this指针”才能找到对象所在的地址,在调用c2.getK()的时候相当于getK(&c2);将函数的地址传递了过去。2、性质:在静态成员函数内不能够访问除静态成员变量以外的其他成员变量。2、在对象的内存模型中,“数据”和“处理数据的函数”是如何存储的。原创 2023-07-04 17:15:42 · 231 阅读 · 0 评论 -
C++类和对象——引用作为函数形参
【代码】C++类和对象——引用作为函数形参。原创 2023-07-01 12:53:40 · 697 阅读 · 0 评论 -
C++类和对象——深拷贝和浅拷贝
一般情况下浅拷贝没有任何副作用,但是当类中有指针,并且指针指向动态分配的内存空间,将会导致两个对象的指针变量指向同一块内存空间,当对象被销毁的时候调用析构函数,因为在析构函数中会释放指针所指向的堆空间,造成同一块堆空间被释放两次从而导致程序运行出错。两个对象中的指针变量不会指向同一块内存空间,然后再将右值对象指针所指向的空间的内容拷贝到新的对象向指针当中所指向的堆空间中。同一类型的对象之间可以赋值,使得两个对象的成员变量的值相等,两个对象仍然是两个对立的对象,这种情况叫做浅拷贝。提出的第一个问题的)。原创 2023-07-01 12:36:17 · 324 阅读 · 1 评论 -
C++类和对象——(对象的赋值拷贝构造函数)
发现:在执行delete t1语句前和执行后t2->sum[1]的值是不一样的,因为在t1->sum和t2->sum指向的是同一块内存空间当执行delete t1语句的时候会调用析构函数,在析构函数中之前申请的sum空间被释放了,所以s2->sum[1]的值就和原来的不一样了。也就是类似于两个对象名称共用一个内存空间。1、提出问题:能否使用一个已经构造好的对象去初始化另一个对象,C++编译器又是如何处理这些操作的呐。这样的坏处是当只改变t2的成员变量值的时候相应t1的成员变量也会改变。原创 2023-07-01 01:40:11 · 854 阅读 · 0 评论 -
C++类和对象——(对象的析构和动态建立和释放)
C++中的类可以定义一个特殊的成员函数清理对象,这个特殊的成员函数叫做析构函数* 语法:~ClassName()析构函数没有参数也没有任何返回类型的声明析构函数在对象销毁的时候被自动调用析构函数的调用机制:C++编译器自动调用假如类中有成员变量为指针:例如上图代码中的int *p;原创 2023-06-27 21:21:36 · 490 阅读 · 0 评论 -
C++类和对象——(对象的构造)
在C++中的类可以定义与类名同名的特殊成员函数,这种与类名相同的成员函数叫做构造函数构造函数在定义时候可以有参数,也可以没有参数没有任何返回类型声明//在类中调用类class Cpublic:C(int i)private:int a;class Boxpublic://无参的构造函数,,构造函数都目的,对类内的某些成员变量经行初始化_h=10;_len=10;_w=10;#if 0//有参的构造函数。原创 2023-06-27 20:14:23 · 257 阅读 · 0 评论 -
C++之类和对象
属性:变量行为:函数、方法class 类名访问控制符:成员变量 //属性;成员变量 //方法访问控制符有三种:public,private,protected实例:定义一个描述一种动物class Boxpublic://属性//名字int age;//年龄//方法void jiao(char *voice) //描述动物叫的行为,voice为叫的声音。原创 2023-06-04 14:34:18 · 31 阅读 · 0 评论 -
C++对C的拓展1
对C语言的拓展1。原创 2023-05-22 15:33:30 · 64 阅读 · 0 评论