写C++程序时,几乎没人从零开始造轮子。大部分时候,我们都在用C++标准库里的现成工具。这些库就像厨房里的锅碗瓢盆,少了它们,连个简单的程序都难写。
输入输出:iostream
刚开始学C++,第一个接触的往往是 cout 和 cin。它们来自 <iostream> 头文件,负责控制台的输入输出。比如想打印一句“Hello, World!”,就这么写:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
字符串处理:string
处理文本离不开字符串。C语言用字符数组,麻烦又容易出错。C++提供了 std::string,用起来顺手多了。可以直接拼接、比较、查找,不用再手动算长度。
#include <string>
#include <iostream>
int main() {
std::string name = "小明";
name += "喜欢编程";
std::cout << name << std::endl;
return 0;
}
容器:STL的核心
标准模板库(STL)是C++标准库的重头戏。它提供了一系列通用容器,比如:
std::vector:动态数组,自动扩容,适合大多数存储需求std::list:双向链表,插入删除快std::map:键值对存储,像电话簿一样查数据std::set:自动去重并排序的集合
举个例子,保存几个学生的分数可以用 vector:
#include <vector>
#include <iostream>
int main() {
std::vector<int> scores = {85, 92, 78};
for (int s : scores) {
std::cout << s << " ";
}
return 0;
}
算法:algorithm
有了数据,还得处理。std::sort 就行。
#include <algorithm>
#include <vector>
std::vector<int> nums = {3, 1, 4, 1, 5};
std::sort(nums.begin(), nums.end()); // 排序后变成 1,1,3,4,5
智能指针:memory
以前手动管理内存,一不小心就内存泄漏。现在有 std::unique_ptr 和 std::shared_ptr,对象用完自动回收,省心又安全。
日期时间:chrono
要记录程序运行多久,或者做个倒计时功能,<chrono> 提供了高精度的时间操作。比如测一段代码耗时:
#include <chrono>
#include <thread>
auto start = std::chrono::high_resolution_clock::now();
std::this_thread::sleep_for(std::chrono::milliseconds(100));
auto end = std::chrono::high_resolution_clock::now();
这些只是冰山一角。C++标准库还包括正则表达式、线程支持、异常处理、数值计算等模块。日常开发中,熟练使用这些工具,效率能提升一大截。