摘要:
作为Google和Microsoft使用的核心编程语言,C++新版本获得了国际标准化组织的批准。 国际标准化组织(ISO)C++工作组,即第21工作组(WG21),已同意发布C++20版本的最终版内容。对于这个有着35年历史的C++编程语言,这是自2017年发布C++17版本后的首次重大更新。 WG 阅读全文
摘要:
C++11是自C++98十余年来发布的一个新特性,扩充了很多C++的功能和特性,而C++14是对C++11的又一次补充和优化,这些新特性使得C++更贴近于一种现代化的变成语言。gcc版本大于5(clang版本大于3.8)已经全面支持C++14,并且在编译时需要开启-std=c++14选项用来支持c+ 阅读全文
摘要:
和大家平时用的APP等一样,编程语言每隔一段时间也需要重新制定标准。C++作为老牌编程语言,有着丰富的STL库以及比较规范的语法,是一个比较受欢迎且适合初学者接触编程时的第一个语言,本文简单介绍一下C++的主要版本更替,以及C++11标准和之前的有何区别。 版本更替1. C++98第一版ISO/IE 阅读全文
摘要:
#pragma指令与#ifndef指令 在C/C++中,在使用预编译指令#include的时候,为了防止重复引用造成二义性,通常有两种方式—— 第一种是#ifndef指令防止代码块重复引用,比如说 1 #ifndef _CODE_BLOCK 2 3 #define _CODE_BLOCK 4 5 6 阅读全文
摘要:
一、#ifndef/#define/#endif指令的问题 在C++中,头文件的作用就是将代码以模块的形式组织起来,便于复用和维护。但是,头文件很容易出现重复定义的问题。比如,某个头文件被多个源文件包含,这些源文件又有可能被其他源文件包含,那么就有可能出现一个头文件被重复包含的情况。这样就会导致编译 阅读全文
摘要:
1、缘起 在 C++ 语言中,结构体是一种非常有用的数据类型,可以将不同类型的数据组合成一个单元,方便程序员管理和处理。而 结构体数组 则可以用于存储 多个结构体对象,以便更好地组织和处理数据。 C++ 中的结构体数组可以看作是 一群小伙伴的集合,每个小伙伴都有 自己独特的特点和属性。通过结构体数组 阅读全文
摘要:
1、dump文件是附加堆栈信息的存储文件的简称,文件扩展名“.dmp”,通过dump文件我们可以得到程序运行某一时刻的堆栈数据。 2、当程序意外崩溃后,通常程序会立即中断运行,拿到这一时刻的dump文件就可以通过此时的堆栈进行分析,找到崩溃的代码并分析原因。 3、当程序遇到未处理异常(主要指非指针造 阅读全文
摘要:
QStyle QStyle决定了各种控件在不同OS平台(win10,apple,vista,xp)等基本的样式;它的继承类实现了相应的接口使得在不同操作平台上观感,细节大不相同;也就是说,QStyle的派生类能够管理到控件的整个绘制过程 Qt 包含一组 QStyle 子类,它们模拟 Qt 支持的不同 阅读全文
摘要:
概述 Qt 提供了多种渲染引擎,包括栅格引擎(Raster)、OpenGL 和本地绘图系统。选择哪种引擎主要取决于你的应用程序需求和你的硬件环境。 栅格引擎(Raster):这是 Qt 的软件渲染引擎,它在 CPU 上执行所有的绘图操作。栅格引擎在所有平台上都提供了一致的视觉效果,但可能会比硬件加速 阅读全文
摘要:
1 )Qt::AA_UseDesktopOpenGL使用显卡的openGL库,且要求支持openGL 2.1及以上的版本。因此很多老旧设备是不满足版本要求的(windows默认的驱动版本只支持openGL1.1)。(依赖硬件,即硬件加速渲染)2 )Qt::AA_UseOpenGLES使用Angle库 阅读全文
摘要:
1、管道: 1)管道传输数据是单向的,如果想相互通信,需要建立两个管道。 2)管道这种通信方式效率低, 不适合进程间频繁地交换数据。 3)优点是简单,很容易得知管道里的数据已经被另一个进程读取了。 2、消息队列: 1)消息队列是保存在内核中的消息链表,AB进程互相发送消息,只要把数据放在消息队列即可 阅读全文
摘要:
1、考试时间 5月 或 11月; 报名时间 4月 或 10月,提前关注官网https://www.ruankao.org.cn/ 2、 考试题型,上午单选, 75题,每题1分,45分过;下午5道大题,每题15分, 45分过,上下午都考过才算过 3、 关于备考 1)买一本教材,第五版软件设计师,蓝皮的 阅读全文
摘要:
1、boost是一个功能强大、构造精良、跨平台、代码开源、完全免费的c++程序库。 1)功能强大:共包含 160 余个库 / 组件 , 涵盖字符串与文本处理、容器、迭代器、算法、图像处理、模板元编程、并发编程等多个领域。 2)构造精良: 由 c ++ 标准委员会成员发起倡议并建立 boost 社区 阅读全文
摘要:
Boost库是C++的一个开源类库,包含了大量实用工具和组件,可以大大简化C++编程过程中的繁琐操作。以下是Boost库常见的运用场景: 1. 多线程编程:Boost.Thread模块提供了丰富的线程相关功能,如锁、条件变量、线程池等,使得多线程编程更加容易。 2. 正则表达式处理:Boost.Re 阅读全文
摘要:
在C++中,构造函数是用来初始化对象数据成员的。一个对象在创建的时候,构造函数会被自动调用,以便为该对象的数据成员赋初值。传统的初始化方式是在构造函数内部对数据成员逐一进行初始化,这种方式虽然可行,但是代码复杂度高且效率低下。本文将介绍如何使用构造函数初始化列表来提高代码可读性和执行效率。 一、提高 阅读全文
摘要:
一、指针的基本概念 指针是C++中非常重要的概念,也是初学者经常会遇到的问题。指针是一个存储变量地址的变量,它指向存储器中的一个地址。使用指针可以直接操作存储器中的数据,因此常用于处理复杂的数据结构和算法。 二、指针的定义和使用 定义指针以及使用指针的步骤如下: 1 // 定义指针 2 int *p 阅读全文
摘要:
在C++中,经常需要将多个字符串拼接成一个大字符串。这个过程很容易出错,但有一些技巧可以帮助我们轻松地实现这个目标。本文将介绍一些C++中join字符串的技巧。 一、使用stringstream stringstream是一个流。使用它可以将多个字符串连接起来,然后将它们转换为一个字符串。可以使用' 阅读全文
摘要:
一、概述 C++中的多态性是指同一个函数可以有多种不同的实现方式,并且在运行时根据实际情况进行选择执行。在C++中实现多态有两种方式:静态多态和动态多态。静态多态是指在编译时确定函数的实现,包括函数重载和模板函数;动态多态是指在运行时根据对象的实际类型来确定函数的实现,包括虚函数和抽象类。 二、静态 阅读全文
摘要:
以openCV4.2配置cuda10.2为例。 【下载】 CUDA Toolkit和cuDNN https://developer.nvidia.com/accelerated-computing-toolkit 1、安装CUDA Toolkit,注意自定义安装,安装下图勾选的即可 下一步后,会让选 阅读全文
摘要:
CUDAMemcpy是一种CUDA库中的函数,可以在主机内存和设备内存之间复制数据。本文将从功能、使用方法、性能、优化等多个角度详细介绍CUDAMemcpy。 一、功能 CUDAMemcpy的主要功能是在设备内存和主机内存之间进行数据传输。它可以将主机上的数据发送到GPU上,也可以将GPU上的数据传 阅读全文