- 【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
121 :デフォルトの名無しさん[sage]:2015/02/22(日) 18:24:58.11 ID:/Z4bCbY2 - つまんない質問ですみませんが
下のような場合、get_hello_1はOKで他は全部ダメ? std::string get_hello_1() { return std::string("hello"); } std::string get_hello_2() { return "hello"; } char* get_hello_3() { return "hello"; } char* get_hello_4() { char buf[255]; strcpy(buf, "hello"); return buf; }
|
- 【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
125 :デフォルトの名無しさん[sage]:2015/02/22(日) 18:56:37.91 ID:/Z4bCbY2 - 3は確かにconstが必要でした。すみません
2と3がOKなのは文字列定数だからメモリが消えることはなくずっと確保されているからでしょうか ちなみにもう一つ。下の場合はstd::stringオブジェクトが生成されてOKになります? std::string get_hello_5() { char buf[255]; strcpy(buf, "hello"); return buf; }
|
- 【初心者歓迎】C/C++室 Ver.95【環境依存OK】 [転載禁止]©2ch.net
134 :デフォルトの名無しさん[sage]:2015/02/22(日) 20:47:07.17 ID:/Z4bCbY2 - 皆様ありがとうございした
いくつか誤解していたことが解決して大分理解が深まりました
|