c++之路
文章平均质量分 87
自学c++之路,知识心得等等
慢一点会很快
26届西电硕,cpp选手,欢迎交流~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++】菱形继承深度解析+实际内存分布
本文系统讲解了 C++ 中虚继承机制的设计背景、实现原理与内存布局细节,重点分析了 vbptr/vbtable 的作用,以及在菱形继承、多态调用场景下的实际访问路径与构造顺序。通过手动构造继承层级类(A/B/C/D)并在 MSVC 与 GCC 下分别观察内存结构,详细对比了编译器在 对象大小、虚表优化、成员布局差异上的实现策略。文中结合 ASCII 结构图与二进制输出,深入揭示了虚继承在底层的运作机制与潜在开销,并提出了在工程实践中应关注的兼容性与性能问题。原创 2025-08-27 22:32:55 · 771 阅读 · 0 评论 -
【C++】汇编角度分析栈攻击
c++栈攻击示例,汇编+栈演示;原创 2025-05-15 09:38:04 · 853 阅读 · 0 评论 -
【C++】学习、项目时Debug总结
其实就是在头文件声明和定义了函数,在多个.cpp文件#include这个头文件就会报错,出个定义,违反了ODR原则。解决办法函数声明与定义分离,声明在头文件,定义在 .cpp 文件将函数声明为**inline**如果你需要在头文件中定义函数(例如,函数实现非常简单),可以将其声明为inlineinline适用于小型、简单的函数。如果函数较大或复杂,建议不要内联。原创 2025-05-11 08:52:32 · 1082 阅读 · 0 评论 -
c++ 报错,小细节日常记录
"1\0"是const char类型,上述指针方式只是把result指针的指向强行允许指向该字符串,"1\0"占用的内存的数据类型仍然是const char类型且不允许修改。例如result[1] = ‘1’会报这个错误,写入访问权限冲突!**不会报这个错误,result就是个数组,虽然result本质还是个指针,但是此时’1’ 和’\0’是数组内的元素,可以直接修改!但这个局部变量作为指针或者引用类型的返回值是不行滴,因为函数一结束,这篇内存就被释放了!如此以来返回指针就可以!原创 2024-05-06 21:26:07 · 609 阅读 · 0 评论 -
c++ 虚函数 多态 探讨其本质!!!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2024-04-27 12:36:34 · 919 阅读 · 0 评论 -
C++ 指针,指针引用,二级指针作为实参传入函数体,形参改变指向的问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2024-03-19 17:33:28 · 897 阅读 · 0 评论 -
C++中char,char*,char[],string存储中文的问题
学习时遇到的问题,如有不对,欢迎大佬们批评指正!原创 2024-03-16 22:08:28 · 6126 阅读 · 3 评论 -
c++引用,常量引用,左值,右值之间的关系
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2024-04-24 08:11:40 · 2035 阅读 · 0 评论 -
C,C++中初始化字符串,char,char*,char[],new,常量字符串之间的区别
欢迎补充。原创 2024-03-22 17:23:06 · 2102 阅读 · 3 评论 -
c++编译器的那点事-链接属性,extern,inline
cpp项目里,每个.,cpp文件将其所包含的头文件合并后,称为一个转换单元!编译器在编译每个转换单元时,会将源代码翻译成汇编代码,然后再将汇编代码翻译成机器码,并将生成的机器码和一些元数据(如符号表、调试信息等)打包成目标文件(.obj)。然后经过链接器将这些obj文件链接在一起生成exe文件。例如A.obj有定义在其他obj文件定义的函数,那么链接时候就会去对应的obj文件寻求定义来建立链接!程序中的变量,函数,结构等都有名字,这些名字具有不同的链接属性,链接器就是根据链接属性把各个obj链接起来。原创 2024-04-11 21:06:15 · 1184 阅读 · 0 评论
分享