C++
文章平均质量分 96
............
黎相思
别看我,什么都不会!!! Gitee:https://gitee.com/Axurea
展开
-
C/C++内存管理
int main()//new/delete 和 malloc/free最大区别是 new/deeletc对于//自定义类型除了开空间还会调用构造函数和析构函数。//没有默认构造就会报错,当然也可以自己传参//这里有点像匿名对象,但不是匿名对象//这是在堆上new一个对象,然后构造。然后把对象的地址返回给p3free(p1);//释放空间delete p2;原创 2024-09-14 15:41:15 · 623 阅读 · 0 评论 -
类和对象(下)
无论是否显示写初始化列表,每个构造函数都有初始化列表。无论是否在初始化列表显示初始化,每个成员变量都要走初始化列表初始化。构造函数初始化成员,尽量使用初始化列表初始化,那么有的使用了初始化列表初始化再使用函数体,就像我们的日期有效性的检测。原创 2024-09-13 17:31:42 · 591 阅读 · 0 评论 -
类和对象(中)
对比一下用C++和C语言实现的Stack解决之前括号匹配问题isValid,我们发现有了构造函数和析构函数确实方便了很多,不会在忘记调用Init和Destroy函数了,也方便了不少。原创 2024-08-13 15:10:40 · 1145 阅读 · 0 评论 -
类和对象(上)
class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。为了区分成员变量,一般习惯上成员变量会加一个特殊的标识,如成员变量前面或后面加_或者m开头,注意C++中这个并不是强制的,只是一些惯例,具体看公司要求。原创 2024-08-07 21:18:53 · 731 阅读 · 0 评论 -
C++入门基础
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。命名空间可以定义变量/函数/类型等。namespace本质是定义出一个域,这个域跟全局域各自独立,不同的域可以定义同名变量,所以下面的rand不在冲突了。C++中域有含税局部域,全局域,命名空间域,类域。域影响的是编译时语法查找一个变量/函数/类型出处(声明或定义)的逻辑,所以有了域隔离,名字冲突就解决了。原创 2024-08-05 17:13:01 · 1195 阅读 · 0 评论