std::string <==> ::std::string
时间: 2023-11-21 16:05:28 浏览: 39
`std::string`和`::std::string`是完全相同的,它们都是C++标准库中的字符串类。`std`是C++标准库的命名空间,因此`std::string`表示在`std`命名空间中定义的字符串类。而`::std::string`中的`::`表示全局命名空间,因此它也表示相同的字符串类。两者可以互换使用,没有任何区别。
示例代码:
```c++
#include <iostream>
#include <string>
int main() {
std::string str1 = "hello";
::std::string str2 = "world";
std::string str3 = str1 + ", " + str2;
std::cout << str3 << std::endl; // 输出:hello, world
return 0;
}
```
相关问题
std::vector<std::string>
std::vector<std::string>是C++标准库中的一个容器类,用于存储一组字符串。它提供了动态数组的功能,可以根据需要自动调整大小。
使用std::vector<std::string>可以方便地进行字符串的添加、删除、查找等操作。以下是std::vector<std::string>的一些常用操作:
1. 添加元素:可以使用push_back()函数将一个字符串添加到std::vector<std::string>的末尾。
2. 删除元素:可以使用erase()函数删除指定位置的字符串,或者使用pop_back()函数删除末尾的字符串。
3. 访问元素:可以使用下标运算符[]来访问指定位置的字符串,也可以使用at()函数来进行访问,at()函数会进行边界检查。
4. 获取大小:可以使用size()函数获取std::vector<std::string>中元素的个数。
5. 清空容器:可以使用clear()函数清空std::vector<std::string>中的所有元素。
6. 遍历容器:可以使用迭代器来遍历std::vector<std::string>中的所有元素。
std::shared_ptr<std::string>
std::shared_ptr<std::string>是一个智能指针,用于管理一个字符串的内存。它允许多个指针共享同一个对象,并在最后一个指针被销毁时自动释放内存。使用std::shared_ptr<std::string>可以避免内存泄漏和悬挂指针等问题。
要使用std::shared_ptr<std::string>,你需要包含头文件<memory>,然后使用以下语法:
std::shared_ptr<std::string> ptr(new std::string("Hello World"));
这将创建一个指向字符串"Hello World"的std::shared_ptr<std::string>对象。如果想要在另一个地方使用相同的字符串,只需将该指针传递给另一个std::shared_ptr<std::string>对象即可。
当不再需要该指针时,可以将其设置为nullptr或销毁该指针。由于智能指针会自动跟踪指向的对象的引用计数,因此在最后一个指针被销毁时会自动释放内存。