C++
文章平均质量分 78
c++的基础知识
四川精神小伙
四川人,四川魂,四川都是人上人
展开
-
C++内存分配
还有一些零散的东西没有介绍到,比如set_new_handler可以在malloc(需要调用set_new_mode(1))或operatornew内存分配失败时指定一个入口函数new_handler,这个函数完成自定义处理(继续尝试分配,抛出异常,或终止程序),如果new_handler返回,那么系统将继续尝试分配内存,如果失败,将继续重复调用它,直到内存分配完毕或new_handler不再返回(抛出异常,终止)。也就是说p就是数组的起始地址,这样程序看到的内存就是线性的,不包括前面的额外数据。...原创 2022-07-18 23:17:35 · 718 阅读 · 1 评论 -
C++静态函数和普通函数的区别
这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。这是统计函数被调用次数的最好的办法,因为这个变量是和函数息息相关的,而函数可能在多个不同的地方被调用,所以从调用者的角度来统计比较困难。当static用来修饰全局变量的时候,它就改变了全局变量的作用域(在声明他的文件之外是不可见的),但是没有改变它的存放位置,还是在静态存储区中。...原创 2022-07-18 22:23:30 · 1975 阅读 · 0 评论 -
extern关键字
extern是C语言中的一个关键字,一般用在变量名前或函数名前,作用是用来说明“此变量/函数是在别处定义的,要在此处引用”,extern这个关键字大部分读者应该是在变量的存储类型这一类的内容中遇到的,下面先分析C语言不同的存储类型在C语言中变量和函数有数据类型和存储类型两个属性,因此变量定义的一般形式为:存储类型 数据类型 变量名表;C语言提供了一下几种不同的存储类型:(1) 自动变量(auto)(2) 静态变量(static)(3) 外部变量(extern)(4) 寄存器变量(register)(原创 2022-07-13 10:09:42 · 7127 阅读 · 0 评论 -
动态库和静态库
一.什么是库,库有什么用库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。二.静态库我们所说的静态和动态指的是链接。这类库在编译的时候会直接整合到目标程序中。这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容。静态库的缺点:原创 2022-04-03 16:45:32 · 3425 阅读 · 0 评论 -
C++常用关键字
1.OOP的概念的提出(面向对象的设计)本质区别在去程序设计思想2.多了继承,多态,函数重载,泛型编程,STL3.面向对象的三大特性:继承,封装,多态4.C语言是一门面向过程的语言,更注重于程序的实现逻辑,在编写大型项目时并不利于程序的复用性,扩展性后期维护很繁琐,针对于次OOP诞生了。5.复用性:公共功能,过程的抽象,体现为能被重复使用的类,方法,就要求我们针对某一类功能而不是针对某一个功能去设计6.扩展性:新增加的功能不影响原来已经封装好的功能7.封装:将零散的数据和算法放到一个原创 2022-04-04 20:21:02 · 533 阅读 · 0 评论 -
C++类成员和静态成员
一.类对象的种类:1.栈区局部变量,遇到函数返回或者{}生命周期结束,自动回收。2.通过new创建的变量,需要通过delete手动回收3.全局变量:程序一开始创建就创建变量,程序退出(销毁)时候被回收,作用域为整个应用程序,可以跨文件.4.静态全局,生命周期和全局是一样的。作用域:只能在当前文件中使用,具有文件作用域5.静态局部变量,第一次调用包含这个对象的函数执行定义对象的代码,一直到程序结束销毁变量。调用了多次包含该对象的函数,对象不会重新创建(和局部栈区变量不一样)#i.原创 2022-04-04 20:37:01 · 1217 阅读 · 0 评论 -
C++常函数和继承的基础
一.const和常函数1.常量指针和指针常量const int* p1;常量指针:修饰的是指针所指向的空间,也就是不能更改(*p1)的值,但是可以改变指针的指向,也就是可以修改p1,也可以读取。不可以通过当前指针修改指向的空间但是可以通过其他方法。int* const p2=&a;//指针常量要初始化指针常量:const修饰的是p2指针,可以通过指针修改空间的值*p2 = 30。不能修改指针的值p2 = &b;是非法的const int* const ...原创 2022-04-04 21:02:23 · 1002 阅读 · 0 评论 -
头文件-源文件和宏
一.头文件:不参与编译,变量的声明,函数的声明,类的定义.源文件:自上而下独立编译,变量的定义,函数的定义,成员定义初始化头文件里放变量的声明不能放定义,因为当两个及以上的文件引用该头文件就会发生重定义的错误。函数也同理。extern int a;//变量的声明,注意不能赋值,如果赋值则为非法声明extern int a;//可以声明多份int b;//此为定义。//头文件中类的定义class te{public: int m_a; te(); void show1(原创 2022-04-04 21:52:00 · 1476 阅读 · 1 评论