C++相談室 part166 (569レス)
上下前次1-新
抽出解除 レス栞
235(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 8d32-2Myj) [sage] 2025/06/05(木) 17:37:36.07 ID:BNqgyRrD0(2/3) AAS
>>233233(2): デフォルトの名無しさん (ワッチョイ 69d6-a+Ou) [sage] 2025/06/05(木) 16:59:25.81 ID:I5agSXi50(1/3) AAS
単純なんですが、わからんので教えてください。
#include <iostream>
int main(){
std::cout <<"hello"s<<std::endl;
}
がエラーになります。なんか勘違いしてます?sは無理につけないほうがいいのかな?!
$ g++ -Wall -Wextra -std=c++23 -O2 -DGNU_SOURCE main.cpp -o main
g++は11.4.0
結論から言うとこういう感じ。
#include <iostream>
#include <string>
int main(){
using namespace std::literals::string_literals;
std::cout <<"hello"s<<std::endl;
}
s はヘッダ string の中の std::literals::string_literals という名前空間で定義されているからこういう形で using してからじゃないと使えない。
この単純なケースだけを見れば s を付ける利点は何もないけど状況次第。
237: デフォルトの名無しさん (ワッチョイ 69d6-a+Ou) [sage] 2025/06/05(木) 17:40:53.81 ID:I5agSXi50(3/3) AAS
>>235
御意 mOm 色々あるのですね・・・
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s