欢迎来到程序员中文网!
2026-08-12 04:46:50 阅读(2)
## Boost.Asio 简介 Boost.Asio 是一个跨平台的网络和底层 I/O 库,支持同步/异步操作。 ### 同步 HTTP GET 请求 ```cpp #include <boost/asio.hpp> #includ
## 拷贝省略(RVO/NRVO) 编译器会在某些情况下省略拷贝构造,直接构造到目标位置。 ```cpp struct BigData { BigData() = default; BigData(const BigDa
2026-08-12 04:46:50 阅读(3)
## 文件流类 - `ifstream`:读文件 - `ofstream`:写文件 - `fstream`:读写 ## 文本读写 ```cpp #include <fstream> #include <string> // 写入 s
## 模板特化 ```cpp template<typename T> struct TypeInfo { static const char* name() { return "Unknown"; } }; template<
## Lambda 基本语法 ```cpp [捕获列表](参数列表) -> 返回类型 { 函数体 } ``` 示例: ```cpp #include <algorithm> #include <vector> std::vector<
## 循环引用问题 当两个对象相互持有 `shared_ptr` 时,引用计数永远不会归零,导致内存泄漏。 ```cpp class B; // 前向声明 class A { public: std::shared_ptr<
## 创建线程 ```cpp #include <thread> #include <iostream> void task(int id) { std::cout << "Thread " << id << " running
## 顺序容器对比 | 容器 | 随机访问 | 插入/删除(中间) | 插入/删除(末尾) | 适用场景 | |------|----------|-------------------|-------------------|-----
## 左值与右值 - **左值**:有地址的变量,可出现在赋值左边。 - **右值**:临时对象,如 `10`、`func()` 返回值。 ```cpp int a = 5; // a 是左值,5 是右值 ``` ## 移动语义
2026-08-12 04:46:50 阅读(1)
## auto 类型推导 `auto` 让编译器自动推导变量类型,减少冗余代码。 ```cpp #include <vector> #include <map> std::vector<int> vec = {1, 2, 3}; //