C++14 experimental/string_view属于哪个库
时间: 2024-04-05 15:34:33 浏览: 114
`std::experimental::string_view` 是 C++14 中引入的一个实验性特性,位于 `<experimental/string_view>` 头文件中,属于 C++ 标准库的实验性扩展部分。在 C++17 中,`std::experimental::string_view` 被重命名为 `std::string_view` 并正式成为标准库的一部分,因此如果你使用的是 C++17 或以上的版本,建议使用标准库中的 `std::string_view`,而不是实验性的 `std::experimental::string_view`。如果你使用的是 C++14,可以使用实验性的 `std::experimental::string_view`,但需要包含 `<experimental/string_view>` 头文件。
相关问题
C++14 experimental/string_view的库路径
C++14标准库中的`string_view`被定义在`<experimental/string_view>`头文件中,这个头文件在C++14中是一个实验性的头文件,因此需要在编译时指定使用实验性特性,例如使用`-std=c++14 -stdlib=libc++ -fexperimental-filesystem`编译选项。
在使用`<experimental/string_view>`头文件时,需要确保使用的编译器支持C++14标准,并且需要使用libc++库。如果使用的是gcc编译器,需要使用libstdc++库,并且需要在编译时添加`-std=c++14 -lstdc++ -fexperimental-filesystem`选项。
需要注意的是,实验性头文件可能在未来的C++标准中被移除或修改,因此在实际的项目中应该谨慎使用。
C++14 experimental/string_view怎么用
首先,在C++14标准库中,string_view被定义在头文件<experimental/string_view>中,因此需要在代码中包含该头文件。
下面是一个简单的示例程序,演示如何使用string_view:
```cpp
#include <iostream>
#include <experimental/string_view>
using namespace std::experimental;
int main()
{
std::string str = "Hello, world!";
string_view str_view(str);
std::cout << str_view << std::endl;
std::cout << "Length of string_view: " << str_view.size() << std::endl;
return 0;
}
```
在这个示例中,我们首先创建了一个std::string对象str,然后使用它来创建一个string_view对象str_view。
我们可以使用cout输出str_view对象,也可以使用size()函数获取str_view的长度。
需要注意的是,string_view只是一个指向字符串的指针和长度的封装,它不拥有字符串的所有权,因此需要确保字符串对象的生命周期在string_view对象之前。
阅读全文