标签: C++

31 篇文章

thumbnail
关系数据库系统基础
本文是为了本人更好的学习数据库系统,同时给MySQL文章做补充,介绍了关系数据库的一些系统性知识,内容多参考教材《高级数据库系统及其应用》。 1. 数据库系统体系结构 1.1 数据模型 数据模型是数据库系统中描述数据、数据之间关系以及数据约束的核心概念。它是数据库设计和实现的基础,决定了数据的组织方式和操作方式。 1. 数据模型的分类 根据抽象层次…
thumbnail
MySQL的详细介绍与C++调用
1. MySQL介绍 此章节部分内容参考oracle官网文档:MySQL:了解这是什么以及如何使用 1.1 MySQL概述 MySQL是一个全球流行的关系型开源数据库管理系统(RDBMS,Relational Database Management System),MySQL已有约三十年的发展历史了,虽然与Oracle、DB2等大型数据库相比有诸多…
thumbnail
详解CMake命令与操作
平时在项目中使用,用的时候现搜,正好这次整理一下。 1. CMake基本概念与用法 1.1 基本概念 CMake是一个开源的跨平台构建系统,用于自动化生成平台特定的构建文件(如Makefile或Visual Studio项目)。其核心组件包括: CMakeLists.txt:配置文件,定义项目结构、依赖关系和编译规则。 构建目录(Build Dir…
thumbnail
详解C++ STL容器类
本文基于cpp参考手册整理所得:cppreference.com 1. STL容器类概述 1.1 简要说明 标准模板库(STL) 是 C++ 的核心组件,提供了一套高效的、可复用的容器类模板,用于管理数据集合。 1.2 分类及对应的cpp参考链接 每个类名都附有跳转至本文对应位置的链接。还另附了可直接跳转至 cppreference 源码参考文档的…
thumbnail
详谈C++回调函数
1. 基本概念 回调函数(Callback Function)是C++编程中一种重要的机制,允许通过函数指针或对象引用间接调用函数。它在事件处理、异步编程、框架设计等领域广泛应用,能够提升代码的灵活性和解耦性。 回调函数本质上也是个函数,不过是用于”回调”的函数。所谓回调,可以理解为将一个函数的调用权交给另一个函数,并在适当的时刻由后者调用前者,而…
枚举类型enum和enum class的区别
1. 枚举enum 传统的枚举类型,帮助开发者快速定义一系列整形常量。关于枚举类型的介绍和使用在这里不再过多介绍,示例如下: class MyClass{ public: enum Color { RED, // 0 GREEN, // 1 BLUE // 2 }; }; 相比于enum class的特点: enum的成员直接暴露在其定义的作用域中…
C++使用大小括号初始化变量
本文对普通变量、普通类对象在初始化时使用()和{}的情况进行区分说明,以免混淆不清。 一般使用()是使用构造函数初始化,使用{}是使用列表初始化,如下。 1. 基本初始化(略过) 这里大概对基本初始化方式做一个归纳 1.1 默认初始化 即只声明,让其调用默认构造函数。 对于基本变量类型(如int、double...),只声明就不会定义具体的初始值。…
浅谈锁机制(C++、Qt)
1. 锁机制概述 1.1 概念与作用 在程序使用多线程处理事务时,难免会遇到访问共享资源的情况,而为了共享资源能够被合理地分配与使用,就引入了锁机制来保证线程访问共享资源的互斥性与同步性,最终目的就是为了保证多线程不会因竞争共享资源而导致死锁等问题,合理地使用锁机制能保证程序的有效运行。 互斥性:在同一时刻,不能有多个线程访问同一共享资源,即让共享…
thumbnail
细谈QT信号与槽机制
信号与槽是我个人认为QT中最牛的机制之一,最近没有其他的内容可写,今天就来细细总结一下这个信号与槽机制。 1. 信号与槽机制概述 信号与槽机制可以理解为QT中的一种通信手段,在运行相关代码前,分别声明信号和槽,再利用connect()方法将信号和对应的槽连接起来,之后再需要的地方使用emit触发信号,那么就可以让槽响应。 其中,槽可以是特定的槽函数…
vtkPolyData序列化
1. 使用vtk提供的格式转换方法 以XML格式为例: vtk库中支持多种格式的读写转换,比如利用XML格式,可以将vtkPolyData格式序列化为string类型,直接使用vtk库中的 vtkXMLPolyDataWriter 方法进行序列化 ,以及 vtkXMLPolyDataReader 方法解序列化。 示例: // 读vtkPolyDat…