c++ 文字列出力する際、cout<<""<<文字列変数;の""をつける理由について
Q&A
Closed
文字列出力する際、cout<<""<<文字列変数;の""をつけなきゃいけない理由がわかりません。
""つけて文字列として認識してもらうんだろうな~とは思うんですけど、""文字列みたいに出力されないで、"文字列"って風にくっついて出力されるんですか?だとしたらどういう原理ですか?
0 likes
Q&A
Closed
文字列出力する際、cout<<""<<文字列変数;の""をつけなきゃいけない理由がわかりません。
""つけて文字列として認識してもらうんだろうな~とは思うんですけど、""文字列みたいに出力されないで、"文字列"って風にくっついて出力されるんですか?だとしたらどういう原理ですか?
""
(ダブルクオーテーション2連続)というのは、「長さ0の文字列定数(リテラル)」という意味に解釈されると思われます。出力をしても何も変化がないと思われます。
" "
(ダブルクオーテーション、スペース、ダブルクオーテーション)を使ってはいませんでしょうか? 例えば、文字列が2連続して出力すると区切りが分りにくい場合に、空白を入れる場合もあります。
ご確認いただければ幸いに存じます。
#include <iostream>
int main(){
const char *_msg = "HELLO";
std::cout << _msg << _msg;
std::cout << std::endl;
std::cout << "" << _msg << "" << _msg;
std::cout << std::endl;
std::cout << " " << _msg << " " << _msg;
std::cout << std::endl;
return 0;
}
kmtr@kmtr-virtual-machine:~$ ./a.out
HELLOHELLO
HELLOHELLO
HELLO HELLO
そうなんですか?初めて聞きました。私は単純にcout << hoge;
にしています。