c++使用STL
时间: 2023-11-27 19:09:37 浏览: 43
STL(Standard Template Library)是C++标准库中的一个重要部分,提供了一系列模板类和函数,用于实现常用的数据结构和算法。使用STL可以大大提高代码的可读性和可维护性,同时也能够提高开发效率。
STL中包含的常用容器类有vector、list、deque、set、map等,这些容器类可以存储不同类型的数据,并提供了常用的操作方法,如插入、删除、查找等。此外,STL还提供了一些常用的算法,如排序、查找、遍历等。
使用STL需要包含头文件<cstdlib>,并在程序中使用命名空间std,如下所示:
```c++
#include <cstdlib>
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
上述代码演示了使用STL中的vector容器类,将三个整数插入到vector中,并输出每个元素的值。
相关问题
c++使用stl库中的map
C++中的STL库中的map是一种关联式容器,它提供了一种将键映射到值的方法。map中的每个元素都是一个键值对,其中键是唯一的,值可以重复。map中的元素按照键的升序排列,因此可以使用迭代器来遍历map中的元素。map提供了许多方法来插入、删除和查找元素,例如insert、erase和find等。使用STL库中的map可以方便地实现许多常见的数据结构和算法,例如字典、哈希表和二叉搜索树等。
c++使用stl比较包含中英文的字符串
在 C++ 的 STL 中,可以使用 std::wstring 和 std::wstring_view 类型来表示 Unicode 编码的字符串,并且可以使用 std::locale 类型来设置本地化环境,以正确处理中文字符。下面是一个示例代码:
```c++
#include <iostream>
#include <string>
#include <locale>
int main() {
std::wstring str1 = L"你好世界";
std::wstring str2 = L"hello world";
std::locale loc("");
// 按照 Unicode 编码比较字符串
if (str1.compare(str2) == 0) {
std::wcout << "相等" << std::endl;
} else {
std::wcout << "不相等" << std::endl;
}
// 比较字符串的一部分
std::wstring_view str1_view(str1);
std::wstring_view str2_view(str2);
if (str1_view.substr(0, 2).compare(str2_view.substr(0, 2)) == 0) {
std::wcout << "前两个字符相等" << std::endl;
} else {
std::wcout << "前两个字符不相等" << std::endl;
}
return 0;
}
```
这个示例代码中,我们使用了 std::wstring 类型来表示字符串,并且使用了 std::locale 类型来设置本地化环境,以正确处理中文字符。在比较字符串时,我们使用了 std::wstring 的 compare 函数来比较两个字符串是否相等。如果要比较字符串的一部分,则可以使用 std::wstring_view 类型来表示子字符串,并且使用 substr 函数来获取子字符串,然后再使用 compare 函数来比较子字符串是否相等。