随笔分类 -  C++

摘要:使用场景 static_cast 静态类型转换。如int转化成char reinterpret_cast 重新解释类型 dynamic_cast 命名上理解是动态类型转换,如子类和父类之间的多态类型转换 const_cast 字面上理解就是去const属性 类型转换介绍 static_cast<>( 阅读全文
posted @ 2021-10-15 12:51 小帆敲代码 阅读(106) 评论(0) 推荐(0) 编辑
摘要:协程(协同程序): 同一时间只能执行某个协程。开辟多个协程开销不大。协程适合对某任务进行分时处理。 线程: 同一时间可以同时执行多个线程。开辟多条线程开销很大。线程适合多任务同时处理。 参考:https://www.cnblogs.com/dixiaodiaohome/p/14157395.html 阅读全文
posted @ 2021-10-14 19:34 小帆敲代码 阅读(426) 评论(0) 推荐(0) 编辑
摘要:c/c++函数调用约定 1、函数调用约定一般规定如下三个方面: 1)函数参数的传递顺序和方式; 2)栈的维护; 3)名字修饰的策略。 2、常见的函数调用约定方式: 调用约定 出栈方式 参数传递 名字修饰 cdecl 函数调用方 从右至左的顺序压参数入栈 下划线+函数名 stdcall 函数本身 从右 阅读全文
posted @ 2021-10-14 19:29 小帆敲代码 阅读(93) 评论(0) 推荐(0) 编辑
摘要:因为参数是从右向左入栈的,那么也就是说如果知道最左边的起点以及类型就可以实现变长参数 阅读全文
posted @ 2021-10-14 19:20 小帆敲代码 阅读(32) 评论(0) 推荐(0) 编辑
摘要:分析 void(*)()是一个函数指针 *(void(*)())0是说取0这个地址的函数 (*(void(*)())0)()表明函数调用 阅读全文
posted @ 2021-10-14 18:02 小帆敲代码 阅读(185) 评论(0) 推荐(0) 编辑
摘要:##什么是函数指针 如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。 ##那么这个指针变量怎么定义呢? 虽然 阅读全文
posted @ 2021-10-14 17:57 小帆敲代码 阅读(63) 评论(0) 推荐(0) 编辑
摘要:在C/C++语言中,有时需要在同一段内存单元中存放不同类型的变量,如把一个整形变量int、一个字符型变量char和一个双精度实型变量double放在同一个地址开始的内存单元中,这3个变量虽然在内存中占的字节数不同,但都从同一地址开始,使用覆盖技术,后一个数据覆盖了前面的数据。这便是联合体union( 阅读全文
posted @ 2021-10-14 17:53 小帆敲代码 阅读(542) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/qq_39382769/article/details/102441699 阅读全文
posted @ 2021-10-14 17:45 小帆敲代码 阅读(26) 评论(0) 推荐(0) 编辑
摘要:static static局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中 static 全局变量 表示一个变量在当前文件的全局内可访问 static 函数 表示一个函数只能在当前文件中被访问 static 类成员变量 表示这个成员为全类所 阅读全文
posted @ 2021-10-14 17:22 小帆敲代码 阅读(114) 评论(0) 推荐(0) 编辑
摘要:指针 指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元; 引用:跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。 区别 引用不可以为空,当被创建的时候,必须初始化,而指针可以是空值,可以在任何时候被初始化。 指针可以有多级,但是引用只能是一级(int **p 阅读全文
posted @ 2021-10-14 16:07 小帆敲代码 阅读(137) 评论(0) 推荐(0) 编辑
摘要:匿名函数就是没有名字的函数。有一些函数只是临时用一下,而且业务逻辑也比较的简单,相当于是临时工,就没必要给它定义成一个正常函数(包含有函数名,很正式的那种)。使用临时的匿名函数,可以减轻函数的数量,让代码变的清晰易读。 C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式) 阅读全文
posted @ 2021-10-14 16:02 小帆敲代码 阅读(516) 评论(0) 推荐(0) 编辑
摘要:一个由c/c++编译的程序占用的内存分为以下几个部分: 栈区 由编译器自动分配释放,存放函数的参数值,局部变量的值等。 堆区 一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收。 全局区(静态区) 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域data段,未初 阅读全文
posted @ 2021-10-14 11:30 小帆敲代码 阅读(208) 评论(0) 推荐(0) 编辑
摘要:右值引用 右值一般指的是无法用&取到存储地址的。比如常量10 那么我们可以使用&&来获得右值 int &&j=10; int e=10; int &&j=e;//错误,因为e是左值 移动构造函数 #include <iostream> using namespace std; class demo 阅读全文
posted @ 2021-10-14 11:22 小帆敲代码 阅读(59) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/weixin_38952721/article/details/100130983 虚函数的写法 一般是对于基类的某个成员函数 vitrual void function() 当基类的成员函数被指定为虚函数后,派生类的同名同参函数一般也被认为是虚函数,但是 阅读全文
posted @ 2021-10-13 19:15 小帆敲代码 阅读(113) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示