最終更新日時:
が更新

履歴 編集

function
<string>

std::string_literals::basic_string::sリテラル(C++14)

namespace std {
inline namespace literals {
inline namespace string_literals {
  string    operator""s(const char* str, size_t len);     // (1)
  u16string operator""s(const char16_t* str, size_t len); // (2)
  u32string operator""s(const char32_t* str, size_t len); // (3)
  wstring   operator""s(const wchar_t* str, size_t len);  // (4)
}}}

概要

basic_string型のリテラル。

文字列リテラルを受け取り、各文字型のbasic_stringオブジェクトを構築する。

  • (1) : string型のリテラル
  • (2) : u16string型のリテラル
  • (3) : u32string型のリテラル
  • (4) : wstring型のリテラル

戻り値

  • (1) : basic_string<char>{str, len}
  • (2) : basic_string<char16_t>{str, len}
  • (3) : basic_string<char32_t>{str, len}
  • (4) : basic_string<wchar_t>{str, len}

#include <string>

int main()
{
  using namespace std::literals::string_literals;

  std::string s1 = "hello"s;   // 文字コード未規定のstringリテラル
  std::string s2 = u8"hello"s; // UTF-8のstringリテラル

  std::u16string s3 = u"hello"s; // u16stringリテラル
  std::u32string s4 = U"hello"s; // u32stringリテラル

  std::wstring s5 = L"hello"s; // 文字コード未規定のwstringリテラル
}

出力

バージョン

言語

  • C++14

処理系

参照