随笔分类 -  C++

摘要:一、函数指针的写法 void (*pFunc)(int) 返回值类型 + (指针变量名)(形参列表) 二、函数指针的定义方式 1.先定义函数的原型 #include <stdio.h> #include <stdlib.h> #include <string.h> //先定义出函数的类型,再通过类型 阅读全文
posted @ 2023-11-28 17:24 TechNomad 阅读(181) 评论(0) 推荐(0) 编辑
摘要:std::unique_ptr 是 C++ 标准库中的智能指针类,用于管理动态分配的对象。它提供了独占式拥有权,即在任何时候只能有一个 std::unique_ptr 拥有对对象的唯一所有权。当 std::unique_ptr 被销毁或重置时,它会自动删除所管理的对象,从而避免内存泄漏。 std:: 阅读全文
posted @ 2023-06-15 23:55 TechNomad 阅读(206) 评论(0) 推荐(0) 编辑
摘要:C++11中提供的线程类std::thread,基于此类创建一个新的线程相对简单,只需要提供线程函数和线程对象即可 一、命名空间 this_thread C++11 添加一个关于线程的命名空间std::this_pthread ,此命名空间中提供四个公共的成员函数; 1.1 get_id() 调用命 阅读全文
posted @ 2023-04-12 14:25 TechNomad 阅读(2296) 评论(0) 推荐(0) 编辑
摘要:std::thread 是 C++11 引入的标准库中的线程支持类,它允许你创建、控制和同步线程。 一、创建线程的方法 1.下述示例中,std::thread构造函数接受一个可调用对象(这里是一个函数myFunction),然后创建一个新线程并开始执行这个可调用对象 #include <iostre 阅读全文
posted @ 2023-04-11 17:34 TechNomad 阅读(808) 评论(0) 推荐(0) 编辑
摘要:在C++中,存在可调用对象这一个概念,可调用对象有以下几种定义: (1).是一个函数指针 (2).是一个具有operator()成员函数的类对象(仿函数) (3).是一个可被转换为函数指针的类对象 (4).是一个类成员(函数指针) 一、可调用对象包装器 std::function std::func 阅读全文
posted @ 2023-04-02 13:24 TechNomad 阅读(209) 评论(0) 推荐(0) 编辑
摘要:C++11改进了编译器的解析规则,尽可能的将多个右尖括号(>)解析成模板参数结束符,方便我们编写模板的相关代码 一、模板的右尖括号 在C++98/03的泛型编程中,连续两个右尖括号(>>)会被编译器解释成右移操作符,而不是模板参数表的结束。 #include <QCoreApplication> # 阅读全文
posted @ 2023-03-30 17:15 TechNomad 阅读(156) 评论(0) 推荐(0) 编辑
摘要:C++11标准虽然将 weak_ptr 定位为智能指针的一种,但该类型指针通常不单独使用(没有实际用处),只能和 shared_ptr 类型指针搭配使用。甚至于,我们可以将 weak_ptr 类型指针视为 shared_ptr 指针的一种辅助工具,借助 weak_ptr 类型指针, 我们可以获取 s 阅读全文
posted @ 2023-03-29 18:30 TechNomad 阅读(285) 评论(0) 推荐(0) 编辑
摘要:在 C++ 开发中,我们经常会遇到程序运行中突然崩溃、程序运行所用内存越来越多最终不得不重启等问题,这些问题往往都是内存资源管理不当造成的。C++11 新标准中,增添了 unique_ptr、shared_ptr 以及 weak_ptr 这 3 个智能指针来实现堆内存的自动回收,今天就简单的介绍一下 阅读全文
posted @ 2023-03-27 19:39 TechNomad 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一、用法 typedef struct { int length; char data[0]; }Header; 在结构中,data是一个数组名,但该数组没有元素,该数组的真实地址紧随结构体Header之后,而这个地址就是结构体后面数据的地址。如果给这个结构体分配的内容大于这个结构体实际大小,后面多 阅读全文
posted @ 2022-08-30 14:05 TechNomad 阅读(247) 评论(0) 推荐(0) 编辑
摘要:https://songlee24.github.io/2014/09/20/memory-alignment/ https://blog.csdn.net/leigelaile1/article/details/81982103 阅读全文
posted @ 2020-09-02 10:41 TechNomad 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在最近的软件维护过程中,软件在Win10系统下出了一些小问题,但是开发过程却是在XP上VS2005中开发的;需要远程调试。下面记录一下如何远程调试VS2005上的程序。 在上述截图的路径中找到x86这个文件夹,然后拷贝到Win10系统下,打开后会出现 打开msvsmon.exe(注意打开之前,先关闭 阅读全文
posted @ 2019-12-26 14:16 TechNomad 阅读(245) 评论(0) 推荐(0) 编辑
摘要:在我们日常的开发中,难免要使用别人封装的第三方库;那么接下来就跟着我一步步学习如何在VS编译器中调用第三方库吧。 我自己封装了一个简单的dll文件;函数如下所示: 头文件(.h) #ifndef _MYDLL_H #define _MYDLL_H #ifdef MYDLL_EXPORTS #defi 阅读全文
posted @ 2019-12-26 12:28 TechNomad 阅读(1225) 评论(0) 推荐(1) 编辑
摘要:最近写了一个函数,把数组作为了它的参数,在这个函数中用到了这个数组的长度,按照正常的求长度的方式,应该不会出错;但是运行之后发现结果却不是我想要的。于是写了一个测试程序来验证我的猜想。 上述代码是为一个数组排序,打印结果发现,前后的结果并没有什么改变,断点调试发现它的长度只是1;如下所示: 也就是说 阅读全文
posted @ 2019-09-07 12:35 TechNomad 阅读(688) 评论(0) 推荐(0) 编辑
摘要:一.decltype关键字介绍 decltype关键字与auto关键字相似,但又有不同之处;auto关键字是在编译时通过已经初始化的变量来确定auto所代表的类型。换句话说,auto修饰的表达式必须是已经初始化的变量;那么如果我们只是想得到此变量的类型,那又该如何做呢?这个时候就轮到decltype 阅读全文
posted @ 2019-08-21 20:39 TechNomad 阅读(1908) 评论(0) 推荐(0) 编辑
摘要:一.auto关键字简介 auto这个关键字并不是一个全新的关键字,在旧标准中,它代表的是“具有自动存储期的局部变量”;但是它在这方面并没有起到很大的作用,比如:auto int i = 10 与int i = 10是等价的, 在旧标准中我们很少会用到auto关键字,因为非静态变量在默认的情况下本就是 阅读全文
posted @ 2019-08-20 14:16 TechNomad 阅读(2999) 评论(0) 推荐(0) 编辑

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