c++
亮崽仔
这个作者很懒,什么都没留下…
展开
-
说说构造函数有几种,分别什么作用
在定义类的对象的时候,完成对象的初始化工作。原创 2023-09-05 14:16:22 · 234 阅读 · 0 评论 -
简述一下 C++ 的重载和重写,以及它们的区别
函数重载是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。函数名,参数列表,返回值类型,所有都必须同基类中被重写的函数一致,只有函数体不同。原创 2023-09-05 10:51:44 · 72 阅读 · 0 评论 -
简述一下什么是面向对象?和三大特征
面向对象是一种编程思想把一切东西看成是一个个对象,比如人、耳机、鼠标、水杯等,他们各自都有属性,比如:耳机是白色的,鼠标是黑色的,水杯是圆柱形的等等,把这些对象拥有的属性变量和操作这些属性变量的函数打包成一个类来表示。原创 2023-09-05 10:22:47 · 92 阅读 · 0 评论 -
堆和栈的区别
内存分配方式栈是由程序自动创建和释放的,通常用于存储函数调用时的临时变量、函数的返回地址等信息。而堆则是由程序员手动申请和释放的,通常用于存储程序中需要动态分配的内存(如动态数组、对象等)。内存大小栈的容量较小,一般只有几百KB到几MB的空间,具体容量由操作系统和编译器决定。相对而言,堆用于存储较大的数据结构,大小一般比栈要大得多,可以动态扩展内存空间。访问速度因为栈的内存分配是系统自动完成的,所以访问速度相对堆更快。栈中的数据直接存放在系统内存中,而访问堆中的数据需要通过指针进行间接访问,会造原创 2023-09-04 14:31:40 · 31 阅读 · 0 评论 -
说说new和malloc的区别,各自底层实现原理。
new是操作符,而malloc是库函数。new在调用的时候先分配内存,在调用构造函数,释放的时候调用析构函数;而malloc没有构造函数和析构函数。malloc需要给定申请内存的大小,new无需显式填入申请的内存大小,new会根据new的类型分配内存。new操作符分配的内存空间是在自由存储区,malloc申请的内存是在堆空间。new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操作符。而malloc内存分配成功则是返回void * ,原创 2023-09-04 13:58:13 · 70 阅读 · 1 评论 -
c++中static的作用
修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。修饰局部变量时,表明该变量的值不会因为函数终止而丢失。修饰函数时,表明该函数只在同一文件中调用。修饰类的成员变量:1.所有的对象共享一份数据2.在编译阶段分配内存3.类内声明,类外初始化修饰类的成员函数:1.所有对象共享一个函数2.静态成员函数只能访问静态成员变量原创 2023-09-04 13:37:35 · 28 阅读 · 1 评论 -
c++内存对齐
内存对齐:是计算机对数据类型合法地址做出了一些限制,要求某种类型对象的地址必须是某个值K(通常使2、4、8、16、32或64)的倍数。原创 2023-09-04 10:58:44 · 82 阅读 · 1 评论 -
内存泄露及解决办法
简单地说就是申请了一块内存空间,使用完毕后没有释放掉具体来讲,内存泄漏是由于在程序中通过malloc或者new从堆中申请了一块空间,但是在使用后并没有调用free或者delete释放,导致这块空间既无法使用也无人回收,从而造成了内存泄漏。内存泄漏,是指在程序代码中动态申请的、堆上的内存 由于某种原因、在使用后没有被释放,进而造成内存的浪费。原创 2023-09-04 10:17:06 · 117 阅读 · 1 评论 -
说说 C++中 struct 和 class 的区别//c中的struct和c++中的struct的区别
说说 C++中 struct 和 class 的区别struct 的默认访问权限是public,而class是private。struct 的默认继承权限是public,而class是private。class关键字可以用来定义用户模板参数,就像typename,而struct不能。c中的struct和c++中的struct的区别原创 2023-09-04 09:07:57 · 74 阅读 · 1 评论 -
vector(向量)
简单地说,vector是一个能够存放任意类型的动态数组。vector 容器的行为类似于数组,但可以根据要求自动增长。它可以随机访问、连续存储,长度也非常灵活。vector数据结构和数组非常相似,也称为单端数组。vector拥有一段连续的内存空间,因此支持随机访问,如果需要高效的随即访问,而不在乎插入和删除的效率,使用vector。vector底层数据结构为数组,支持快速随机访问。原创 2023-08-23 15:19:00 · 176 阅读 · 1 评论 -
内联函数(c++)
在函数声明或者定义的时候,以关键字。的调用,此时会使用内联函数。修饰的函数就叫做内联函数。原创 2023-08-19 19:34:27 · 55 阅读 · 0 评论 -
动态库和静态库
这类库的名字一般是libxxx.so;相对于静态函数库,动态函数库在编译的时候 并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相应函数,因此动态函数库所产生的可执行文件比较小。:这类库的名字一般是libxxx.a,利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了。原创 2023-08-19 18:34:09 · 54 阅读 · 0 评论 -
深拷贝与浅拷贝
深拷贝与浅拷贝原创 2023-03-09 20:03:17 · 22 阅读 · 0 评论 -
c++类和对象
构造函数和析构函数原创 2023-03-09 17:26:34 · 26 阅读 · 0 评论 -
c++引用
引用原创 2023-03-07 20:09:49 · 38 阅读 · 0 评论