首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::literals::string_literals::operator""s

Defined in header <string>

string operator "" s(const char *str, std::size_t len);

(1)

(since C++14)

u16string operator "" s(const char16_t *str, std::size_t len);

(2)

(since C++14)

u32string operator "" s(const char32_t *str, std::size_t len);

(3)

(since C++14)

wstring operator "" s(const wchar_t *str, std::size_t len);

(4)

(since C++14)

形成所需类型的字符串文本。

1%29std::string{str, len}

2%29std::u16string{str, len}

3%29std::u32string{str, len}

4%29std::wstring{str, len}

参数

str

-

pointer to the beginning of the raw character array literal

len

-

length of the raw character array literal

返回值

字符串文字。

注记

这些运算符在命名空间中声明。std::literals::string_literals,两者都是literalsstring_literals是内联命名空间。可以通过以下方式访问这些操作员using namespace std::literals,,,using namespace std::string_literals,和using namespace std::literals::string_literals...

std::chrono::duration还定义operator""s,以表示文字秒,但它是算术文字:10.0s10s是十秒钟,但是"10"s是一根绳子。

二次

代码语言:javascript
复制
#include <string>
#include <iostream>
 
int main()
{
    using namespace std::string_literals;
 
    std::string s1 = "abc\0\0def";
    std::string s2 = "abc\0\0def"s;
    std::cout << "s1: " << s1.size() << " \"" << s1 << "\"\n";
    std::cout << "s2: " << s2.size() << " \"" << s2 << "\"\n";
}

二次

可能的产出:

二次

代码语言:javascript
复制
s1: 3 "abc"
s2: 8 "abc^@^@def"

二次

另见

(constructor)

constructs a basic_string (public member function)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券