@gerokasu88 (あ あ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

c++で文字列に+=で一文字を追加する場合は"ダブルクォーテーションとシングルクォーテーションのどちらで囲むのか

Q&A

Closed

文字列sに文字aを追加しようとするとき、aは""と''どっちで囲みますか??

0 likes

2Answer

std::string (std::basic_string<char>) のメンバ関数の operator+=4 種類のオーバーロードが用意されています。 文字列 (ヌル終端された char 型の配列) も文字 (char 型の値) も渡せるようになっているのでどちらで渡しても問題はありません。

一文字であることがわかっている状況であえて文字列として渡す意味はないので文字 (シングルクォーテーションで囲まれた文字リテラル) を渡すようにしたほうが一般的には自然であるように思われますが、挙動として必要を満たすかどうかだけでなくその状況についてプログラマの「意図」がわかりやすいほうが好ましいので

  • 追加したい文字列がたまたま一文字である
  • 追加したいのは文字である

のどちらを意図しているのかというのもよく考えてみるべきでしょう。

1Like

Your answer might help someone💌