C++
xiaomiqaq
这个作者很懒,什么都没留下…
展开
-
【C++】汇编分析,函数是如何调用,传参,返回
如何传参,通过push指令将参数压入栈,然后call参数放在哪:因为调用是先push再call, 进入函数后参数在栈下面,也就是不在[ebp, esp)这个范围内,通过ebp+x来取得参数。局部变量在哪:进入函数后的3条指令开辟了新的栈空间即[ebp, esp), 局部变量在栈空间内,通过ebp-x来取值。函数执行完恢复调用方的堆栈信息:进入函数后先将调用方的ebp压入栈,然后移动堆栈,调用方的ebp就存在当前栈底,即ebp指向的就是,退出函数时有个mov esp, ebp;原创 2024-08-29 23:15:58 · 596 阅读 · 0 评论 -
【C++】static
说起static,一般想到它的作用是延长变量的生命周期,如果只是这样那么它跟全局变量有什么区别呢?在C++之前,C语言就有static了,C的static作用很简单,就是不让其他文件的访问自己的全局变量。C中,我可以用extern来获取其他.c文件定义的全局变量,,有点类似c++的private。原创 2024-08-23 03:16:31 · 364 阅读 · 0 评论 -
【C++】字符串操作
strcat 是 C 语言标准库中的一个字符串操作函数,用于将一个字符串(源字符串)连接到另一个字符串(目标字符串)的末尾。原创 2024-08-23 01:17:23 · 218 阅读 · 0 评论 -
【C++】【工具】【VScode】常用快捷键
在Visual Studio Code (VSCode) 中,有几个快捷键可以帮助你更高效地编写C++代码,特别是与代码提示、自动完成等功能相关的快捷键。所有平台: 当你键入函数名并输入左括号(时,VSCode会自动显示此函数的参数提示。需要注意的是,这些快捷键的有效性可能受到你安装的扩展和当前的编辑器配置的影响。这个快捷键会弹出一个建议列表,显示可能的代码完成项,如变量名、函数名或其他可用的代码片段。参数提示可以帮助你了解函数期望的参数,包括它们的类型和顺序。移动到下一个/上一个参数(在代码完成中)原创 2024-05-30 10:53:59 · 580 阅读 · 0 评论 -
【C++】构造函数,拷贝构造,拷贝赋值
构造函数:如果没有声明任何构造函数,编译器会自动生成拷贝构造:没有则自动声明拷贝赋值:没有则自动声明。原创 2024-08-02 11:03:48 · 148 阅读 · 0 评论 -
【C/C++】文件读写
有时候我们想要一个字符一个字符的读取文件:原创 2024-08-23 01:11:42 · 180 阅读 · 0 评论 -
【C++】内存对齐
内存对齐,cache原创 2024-08-21 00:24:39 · 359 阅读 · 0 评论 -
【C++】指针运算
pa的地址实际增加了 2*sizeof(int)的值。原创 2024-08-21 20:24:00 · 97 阅读 · 0 评论 -
【C++】如何判断类型
typeid对多态的情况不支持dynamic_castdynamic_cast<Child*>(pParent)尝试将一个基类指针转换为派生类指针,如果成功,返回指向该对象的派生类指针,失败返回nullptr。dynamic_cast只支持多态的情况,即基类必须有虚函数原创 2024-08-13 00:38:37 · 201 阅读 · 0 评论 -
【C++】include<>和include““的区别
如果在当前目录中找不到,编译器会按照与 #include。它们之间的主要区别在于头文件的搜索路径和优先级。这种形式通常用于包含项目中的自定义头文件。原创 2024-08-02 11:06:15 · 274 阅读 · 0 评论