- 博客(13)
- 收藏
- 关注
原创 c++析构函数
析构函数·定义一个对象,c++自动调用构造函数建立该对象并进行初始化,那么当一个对象的生命周期结束时,c++会自动调用一个函数注销该对象并进行善后工作,这个特殊的成员函数叫做析构函数析构函数和类名相同,但在前面要加,如CGoods().析构函数无函数返回类型,与构造函数在这方面是一样的。但析构函数不带任何参数。一个类只有一个析构函数,这是和构造函数不一样的,对象注销时,系统自动调用析构函数。若类说明中没有给出析构函数,则c++会给出一个缺省的析构函数。class complex{
2022-05-25 23:33:25
3485
原创 c++面向对象
c++的指针空值nullptr指针空值类型,是c11新引用的,判断指针是否为空可以如下if(int *p==nullptr)typedef 和 using的使用typedef int arr[10]using iarr=int[100]using carr=char[100]string库元素访问at对每个元素访问cout<<stra.at(i)<<“”<<stra[i]<<endlstring.length string.s
2022-05-20 18:41:04
93
原创 堆栈的区别
堆栈堆是应用程序在运行的时候让操作 系统给自己分配的内存,C/C++分别用malloc/New请求分配Heap,用free/delete销毁内存。由于从操作系统管理的内存分配所以在分配和销毁时都要占用时间,所以用堆的效率低的多!但是堆的好处是可以做的很大,C/C++对分配的Heap是不初始化的。堆的相关特性:1.堆是由操作系统管理的一片空间,事先是没有在进程空间里分配的(比如你在没有分配堆的时候就访问堆空间会报一个内存访问错误),一般是由程序动态的分配出来,一旦分配了以后,一般需要程序去释放自己的堆空
2022-05-19 22:19:51
173
原创 c++名字空间
c++名字空间 namespace名字空间域的必要性大型的程序项目一般由多为程序员完成,当各个文件联编时,不可避免会发生成员名称冲突,而针对这样的问题c++提供了名字空间,每个命名空间有独立的作业作用域。除了可以避免成员的名称发生冲突之外,还可以使代码保持局部性,从而保护代码不被他人非法使用。引用名字空间域中的量或函数的写法写法1 用::+成员的方式namespace ljx{``int a,b;``int add(int a,int b)``{return a+b;}``}`
2022-05-19 20:44:24
241
原创 linux笔记[1]
ii普通文件(归档) -目录文件 d权限 r,w,x, chmodexit 分两步 第一步刷新缓冲区第二步退出进程。_exit 只有退出进程。main.c->main 都是在i/o设备上,只有文件执行时才会出现在内存上。程序:有一条条的指令构成操作系统:管理计算机中的软件硬件,管理内存,进程管理。文件管理。linux 可执行文件的格式elfwindows可执行文件的格式 peliunx 内核是c语言进程状态 就绪运行 阻塞简单分页 逻辑页 物理页 页表写时拷贝:,写时拷贝是一种
2022-05-16 10:37:45
89
原创 数据结构【1】两种排序
数据结构【1】两种排序直接排序稳定,逻辑简单,当然当问题规模n较小时,时间复杂度也 不大。时间复杂度o(n^2)空间复杂度o(1)void Intersect(int *arr, int len){ for(int i=1; i<len; i++) { int tmp = arr[i]; int j; for(j=i-1; j>=0; j--) { if(arr[j] > tmp) { arr[j+1] = arr[j]; }
2022-05-11 23:10:49
74
原创 c++学习总结【2】inline函数,缺省函数,函数重载与函数模板
c++学习总结【2】inline函数,缺省函数,函数重载与函数模板1.inline函数内联是一种空间换时间的做法,不建议声明和定义分离,会导致链接错误,若函数的执行开销小于清栈开销,则使用内联函数处理的效率高2.缺省函数缺省参数是在定义函数时为形参指定缺省值(默认值)。缺省参数可以有多个,但所有缺省参数必须放在参数表右侧,即先定义非缺省的参数。缺省参数一般在函数的声明中指定,而函数定义中则不能再次指定。3.函数重载两个或两个以上的函数有相同的函数名,而他们的参数数据类型不同,或是参数的个数不
2022-05-09 19:51:02
233
原创 c++学习总结【1】指针,const,引用
c++学习总结【1】指针,const,引用1.const 的使用const与指针的结合const int a=10int *p=&a是错误的,因为只有指向常性的指针才能储存常变量的地址。即 const int * p=&a而对于 int *p=(int *)&a 这样的强转类型,虽然编译可以通过,但是存在不安全的问题。会引起通过解引用对常变量进行值改变的问题。const 与 int的不同位置关系等价,即是const int 和int const等价。2.引用&
2022-05-09 17:56:45
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人