- 博客(13)
- 收藏
- 关注
原创 C++应用
规则:inline 函数的定义必须在所有使用它的编译单元中可见(即需放在头文件中),且多个编译单元中的定义必须完全一致。原理:编译器会尝试将内联函数直接嵌入调用处避免函数调用开销;即使未内联,链接器也会合并多个编译单元中的同名 inline 函数定义(不会报重复定义)。示例// header.h(带保护)// 合法:inline 函数定义#endif。
2025-11-24 09:21:21
180
原创 OpenGL记录bug
上述的SDL_KEYDOWN分支代表的是键盘按下的事件,如果传入了回调函数,那么mKeyBoardCallback不为空,进入,执行回调函数,后续的打印输出正常执行。那么问题出现在外部回调函数的if判断语句处,他不通过,检查发现。事件回调函数实现ESC键退出程序,按ESC键只打印,不退出。主函数的事件回调函数如下。,二者不相等很正常。
2025-09-16 10:28:51
115
原创 C++的动态绑定
而通过基类对象本身调用时,无论是否为虚函数,都只会执行基类的版本。当通过对象本身(而非指针 / 引用)调用虚函数时,C++ 会进行静态绑定:直接根据对象的声明类型(animal)调用对应的函数版本。
2025-09-03 23:11:34
381
原创 C++的四种类型转换
向下转型时,虚函数表用的是对象实际类型所对应的虚函数表,而不是你转换到的那个类型的虚函数表。无论进行何种类型转换(向上、向下、平行),对象的虚函数表(vtable)指针,它始终指向对象实际类型的虚函数表。类型转换只是改变了编译器看待这块内存的“视角”(解释方式),而不会改变对象内部的vptr。所有这些转换操作,都没有触碰或修改对象内部的vptr。它们只是在操作指针的类型,即和决定偏移量的方式。
2025-08-25 00:25:36
1053
原创 并行计算的相关概念
首先,分布式内存并行是并行计算的一个分类,而分布式计算不属于并行计算,它是一种独立的计算范式,与并行计算串行计算并列。简单直观的区别如下:1、分布式内存并行:“将一个大问题拆成小块,让多个节点一起算得更快。1.1、通过将单一计算任务拆解到多个节点(每个节点有独立内存),利用消息传递加速单一大型问题的求解(如矩阵分解、偏微分方程求解)。1.2、其节点通常为同构或异构计算单元(如 CPU 集群、GPU 节点),通过高速网络(如 InfiniBand)连接,构成紧密耦合系统。
2025-05-28 16:14:39
1023
原创 关于vscode的学习——概念篇
主打一个搬运工的作用,分享一些自己看到的关于vscode的概念上的学习文章,让自己醍醐灌顶的文章。希望对你也有一定的帮助。
2025-02-20 21:05:15
344
原创 vscode学习-配置
这里只是对于一个Eigen库而言,对于以后需要新的头文件,而路径下没有的情况,可以仿照这些办法解决。可惜的是方法一和方法二失败的原因还未找到,等找到了再更新。未完待续…
2024-03-10 13:55:53
1932
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅