自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 CString详解

使用CString的Format函数的时候,如果带入的转化字符串为string类型的,就需要先转化为CString,然后再带入,不然编译可以通过,但是运行的时候会在Format的时候崩溃。以上两种用法都是正确地. 因为strncpy的第二个参数类型为const char *.所以编译器会自动将CString类转换成const char *.当我们需要字符数组时调用GetBuffer(int n),其中n为我们需要的字符数组的长度.使用完成后一定要马上调用ReleaseBuffer();

2024-04-26 16:44:47 1932

原创 C++中的各种循环依赖和解决办法

这意味着动态库A提供了对动态库B接口的具体实现,并依赖于动态库B的接口来与动态库B进行交互。时,由于aptr是 weak_ptr,它并不会增加引用计数,所以ap 的引用计数仍然会是1,在离开作用域之后,ap 的引用计数会减为0A指针会被析构,析构后其内部的 bptr的引用计数会减为1,然后在离开作用域后bp引用计数又从1减为0,B对象也将被析构,不会发生内存泄露。在主程序中,我们需要加载动态库B和动态库A,并创建MyEventHandler的实例,将其传递给动态库B中的函数。动态库B(使用回调)

2024-02-02 17:48:00 2266

原创 正则表达式在VS中的使用

所捕获的每个子匹配都按照在正则表达式模式中从左到右出现的顺序存储。缓冲区编号从 1 开始,最多可存储 99 个捕获的子表达式。=exp2)exp1:查找前面不是 exp2 的 exp1。

2023-12-28 10:12:00 1689 1

原创 SQLite入门

1)将sqlite3.h,sqlite3ext.h,sqlite3.c以及sqlite3.lib和sqlite3.dll文件拷贝至测试项目下。2)项目右键->添加->现有项将sqlite3.h,sqlite3ext.h,sqlite3.c添加到项目中。4)项目右键->链接器->常规->附加库目录中把sqlite3.h文件所在路径放上去。在E:SQLite-lib-64文件夹中可看到sqlite3.lib文件。在E:SQLite-lib-64文件夹中可看到sqlite3.lib文件。生成32位文件可输入。

2023-12-14 09:57:51 1087 1

原创 【模板实例化和特例化】

当我们写好了一个函数模板,但实际上它只是一个编译指令,只有当我们用的时候,才会根据函数模板去生成具体的函数,而什么时候用取决于使用者。这也就是隐式实例化。显式实例化显式实例化与前面的隐式实例化不同的是:实例化的时机不同。在我们写好一个函数模板后,如果我们能确定某个函数在接下来的业务逻辑中一定会被用到,则我们可以在这时候抢先实例化出这个函数。这样就比较快速,从而省去运行阶段创建这个函数的时间。当使用关键字template并指出所需类型来声明类时,编译器将生成函数声明的实例化。声明必须位于模板定义所在的作

2023-10-19 14:02:22 112 1

原创 【C++14新特性】

C++11 增加了自定义字面量(user-defined literals)的特性,使用户能够定义新的字面量后缀,但标准库并没有对这一特性加以利用。C++14 标准库定义了以下字面量后缀: “s”,用于创建各种 std::basic_string 类型。 “h”、“min”、“s”、“ms”、“us”、“ns”,用于创建相应的 std::chrono::duration 时间间隔。

2023-09-27 17:17:49 116 1

原创 【动态转换和动态类型识别】

综上,首先,当一个基类有虚函数时,就要考虑多态的问题,这个时候,就会在虚函数表前插入一个指向类型信息的指针。每当编译时无法确定类型信息,需要在运行时确定类型信息时,就需要查询对象的type_info对象来确定类的类型信息。例如,dynamic_cast要在确定到底能不能进行类型转换之前,就要先查询对象的type_info对象来确定类的类型信息。从第5 ~ 6条输出可以看出在不存在虚函数时,typeid输出指针对应的类型信息,当存在虚函数时,typeid输出指针所指的对象的实际类型信息。

2023-09-11 20:40:36 46

原创 【深入探究虚函数表】

从以上结果可以看出,虚表指针的大小是4个字节(64位程序是8个字节),是个unsigned int指针(不确定),虚函数表是个数组,根据虚函数声明的顺序依次存放虚函数的地址。,所以虚函数表存在基类部分,结合上个例子中基类和派生类的虚函数表的位置刚好只差8个字节,也就是紧挨着的。从以上这个例子可以看出,函数是不占类的空间的。既然如此,从下个例子看看虚函数是怎么样的。是一种常见手法,那么看看这种情况虚函数表会有什么变化。首先,我们先看看一个普通的类的内存大小。

2023-09-06 10:51:34 62 1

原创 C++中的const关键词

在C++中Const关键词的作用可以分成面向过程设计和面向对象设计两部分考虑。

2023-08-26 15:02:19 50 1

原创 【详谈动态库和静态库】

静态库和动态库中所谓的静态和动态是指链接的方式。

2023-06-25 17:34:11 1075

原创 【移动语义和完美转发】

移动语义和完美转发

2023-06-15 13:44:33 2356

原创 inline内联函数和lambda表达式的使用

inline内联函数和lambda表达式的使用

2023-06-11 21:45:21 573

原创 C++中的Static关键词

在C++中static关键词的作用可以分成面向过程设计和面向对象设计两部分考虑。

2023-06-10 21:33:07 100 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除