学习资源:c++++ 标准库参考指南c++ 官网boost c++ 库stl cookbookc++ 常见面试问题社区支持:c++ 论坛stack overflow c++ 子论坛reddit c++ 子版块github c++ 代码库discord c++ 社区服务器
C++ 函数库与标准模板库的学习资源和社区支持
学习资源
- C++ 标准库参考指南:https://en.cppreference.com/w/cpp/header
- C++ 官网:https://www.cplusplus.com/reference/
- Boost C++ 库:https://www.boost.org/
- STL Cookbook:https://www.apriorit.com/our-expertise/ai-machine-learning/stl-cookbook
- C++ 常见面试问题(函数库和 STL):https://www.geeksforgeeks.org/cpp-placement-questions-library-and-stl/
社区支持
立即学习“C++免费学习笔记(深入)”;
- C++ 论坛:https://forum.cpp.com/
- Stack Overflow C++ 子论坛:https://stackoverflow.com/questions/tagged/c%2b%2b
- Reddit C++ 子版块:https://www.reddit.com/r/cpp/
- GitHub C++ 代码库:https://github.com/topics/c%2B%2B
- Discord C++ 社区服务器:https://discord.gg/cpp
实战案例
使用 STL 向量存储并操作数据
#include <iostream>
#include <vector>
int main() {
// 创建一个整数向量
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 输出向量元素
for (int num : myVector) {
std::cout << num << " ";
}
std::cout << std::endl;
// 在向量尾部添加元素
myVector.push_back(6);
// 输出修改后的向量
for (int num : myVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
使用 Boost 库创建线程池
#include <boost/thread/thread.hpp>
int main() {
// 创建一个线程池(包含 4 个线程)
boost::threadpool::pool pool(4);
// 定义要执行的函数
auto task = []() {
std::cout << "这是池中的一个线程" << std::endl;
};
// 创建 10 个任务并提交给线程池
for (int i = 0; i < 10; i++) {
pool.enqueue(task);
}
// 等待线程完成
pool.wait();
return 0;
}