随笔分类 - C/C++
摘要:目录基本结构抛出异常异常处理的流程注意事项常见的标准异常类型示例 在C++中,try和catch是异常处理机制的关键字。异常处理是一种处理程序中特殊情况(即异常)的机制,这些情况通常在程序正常运行时不会发生,但一旦发生就需要特殊处理。 基本结构 异常处理的基本结构如下: try { // 尝试执行的
阅读全文
摘要:目录1. 介绍一下volatile关键字2. C++中的内联函数和宏的区别?3. 自己实现一个堆栈 C++实现 + 模板4. 函数后面加const的作用是什么?5. 纯虚函数和虚函数的区别?6. 抽象类和接口区别?7. malloc和calloc的区别?8. C++中的default关键字9. lo
阅读全文
摘要:目录 常见面试题答案 介绍一下volatile关键字 C++中的内联函数和宏的区别? 自己实现一个堆栈 C++实现 + 模板 函数后面加const的作用是什么? 纯虚函数和虚函数的区别? 抽象类和接口区别? malloc和calloc的区别? C++中的default关键字 lock_guard和u
阅读全文
摘要:目录1. 安装CMake2. 创建CMakeLists.txt文件3. 配置项目4. 构建项目5. 运行程序6. 调试和测试(可选)7. 安装和打包(可选) 在C++工程中,有多种方式可以构建项目,但CMake是其中一个非常流行和强大的跨平台构建工具。以下是使用CMake构建C++工程的基本步骤:
阅读全文
摘要:std::chrono 是 C++ 标准库中的一个模块,用于测量时间点和持续时间。它提供了多种时钟(clock)类型、时间点(time_point)类型、持续时间(duration)类型以及相关的函数和操作符,使得开发者能够在不同的精度和语义需求下,以一致的方式处理和操作时间。 主要组件 时钟(Cl
阅读全文
摘要:在C++中,当两个头文件互相引用时,可以通过前向声明来避免直接的#include依赖,从而解决循环依赖的问题。前向声明是在一个头文件中声明另一个头文件中的类或类型的名称,而不包括其具体的实现细节。这样,每个头文件只依赖对方的声明,而不需要依赖对方的定义,从而打破了循环依赖。 以下是如何通过前向声明来
阅读全文
摘要:目录新特性详细介绍 新特性 C++14带来了一些重要的新特性,主要包括以下几个方面: Lambda初始化捕获:C++14允许在捕获列表中定义前面没有出现过的变量,但必须赋予一个值,并且不使用类型说明符和auto,类型由编译器自动推断。这在用作函数模板的实参时,能推导参数包并将其用于包展开。 废弃标志
阅读全文
摘要:目录"##"预处理运算符 "##"预处理运算符 在C++中,## 是一个预处理运算符,被称为“连接符”或“连接运算符”。当它在宏定义中出现时,它将其左右两边的标记(token)连接成一个标记。这在创建宏时特别有用,尤其是当你需要合并两个标记来形成一个新的、有效的标记时。 以下是一些使用 ## 的例子
阅读全文
摘要:目录地址转换问题unsigned long几个字节指针地址的使用 地址转换问题 #include <iostream> using namespace std; int main() { char test[8] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0
阅读全文
摘要:目录作用域解析运算符(scope resolution operator)::C++中单例模式为什么设置成静态的C++中 子类可以重写父类中的非虚函数吗C++中static变量的加载时机C++11中静态变量和静态初始化器的作用域是什么在C++中,当类被加载到内存时,以下类型的变量会被构建C++中 i
阅读全文
摘要:容器(Containers)、迭代器(Iterators)、算法(Algorithms)、函数对象(Function Objects)、适配器(Adaptors)、分配器(Allocators)
阅读全文
摘要:在C++中,可以通过重载operator bool()来实现对自定义类型的bool类型重载。这样,您可以定义自定义类型的对象在条件语句中的行为,使其能够像内置类型一样进行条件判断。 下面是一个示例,演示了如何在C++中重载bool类型: #include <iostream> #include <s
阅读全文
摘要:volatile、RTTI 运行时类型信息、explicit、std::cerr
阅读全文
摘要:https://www.zhihu.com/answer/2973245260
阅读全文
摘要:目录泛型编程模板元编程示例 泛型编程 泛型编程是一种通用的软件组件设计方法,使得组件可以在各种不同的情况下轻松重复使用。在C++中,类和函数模板是非常有效的泛型编程机制,因为它们使得通用化成为可能,同时又不损失效率。 一个简单的泛型编程示例是将C标准库的memcpy()函数泛化。memcpy()函数
阅读全文
摘要:std::bind、POD、初始化列表、显示转类型转换、显示转换操作符、RAII、完美转发、智能指针、lambda表达式
阅读全文