C++相談室 part114at TECH
C++相談室 part114 - 暇つぶし2ch109:デフォルトの名無しさん
14/09/19 23:34:24.19 jtajSA4X
>>108は日本語が不自由な低脳

110:デフォルトの名無しさん
14/09/19 23:39:43.80 YE33y6IJ
んで文字列リテラルってなんで左辺値なん!?

111:デフォルトの名無しさん
14/09/19 23:55:13.98 526ppMDR
左辺値だろ

112:デフォルトの名無しさん
14/09/19 23:58:40.60 Pjq/AHDS
むしろ配列が値だと思う方が不思議

113:デフォルトの名無しさん
14/09/20 09:24:47.10 j948TmPI
3.14 object
region of data storage in the execution environment, the contents of which can represent values

6.3.2.1 Lvalues, arrays, and function designators
An lvalue is an expression with an object type or an incomplete type other than void;

6.4.5 String literals
In translation phase 7, (中略) The multibyte character sequence is then used to
initialize an array of static storage duration and length just sufficient to contain the sequence.

文字列リテラルは静的記憶域の配列 -> 記憶域のものはオブジェクト -> オブジェクト型のexpressionは左辺値
これであってる?

114:デフォルトの名無しさん
14/09/20 22:20:38.71 mRYinM9k
>>113
何で>>105を無視してるの?
思いっきりダイレクトに左辺値だって書いてあるじゃん。

115:デフォルトの名無しさん
14/09/20 23:37:17.27 z3Nx+hdd
>>114
なんで>>110を無視してるの?
思いっきりダイレクトに別の質問してるじゃん。

116:デフォルトの名無しさん
14/09/21 00:08:45.16 V/2PcQDk
>>110
アドレス取れないと困るだろ。

117:デフォルトの名無しさん
14/09/21 04:15:27.41 JQQIecj/
>>105 は C++ の規格
>>113 は C の規格
文字列リテラルが左辺値とゆーのは C の規格から受け継がれてるな

118:デフォルトの名無しさん
14/09/21 04:34:46.43 tIzOsIsU
右辺地と値だったら何か嬉しいことあるの?

119:デフォルトの名無しさん
14/09/21 07:20:16.93 Ds9W1/T0
リテラルが右辺値に統一されてきもちいい

120:デフォルトの名無しさん
14/09/21 14:06:12.99 urDZcnqs
>>115
何でっていう疑問はわからないでもないけど、その答えが常に存在するとは限らないよ。
そういう意味で、唯一の確実な答えは、規格に明示してある事だけなんだよ。
要は、「そう決まってるから」が確実に言える答え。

で、ここからは推測になるけど、上記のように言いつつも、僕も>>113の考えに賛成。
文字列リテラル自体に記憶域が無い(=rvalue)と、そのアドレスを関数の戻り値に使えなくなる。
イチイチ名前を付けて領域を確保するのもめんどくさいし、文字列リテラルに限れば必ず静的に保持しているはずなんだから、直接参照できても構わないはず。

121:デフォルトの名無しさん
14/09/21 14:08:43.93 urDZcnqs
って事で、本質的にlvalueである事が自然だから、規格としてもそう明言したのだと思う。

122:デフォルトの名無しさん
14/09/21 21:49:13.79 fZliI4BG
「どうして規格では左辺値なの?」
「そう決まってるから」

日本語が不自由な人ですね

123:デフォルトの名無しさん
14/09/21 22:02:35.21 14Np6+sv
「そう決めたから」が正しい

124:デフォルトの名無しさん
14/09/22 00:14:38.22 U5niCD0a
「そう決められている理由は僕にはわかりません」が正しい
>>123は同じことを言い直しているだけの低脳

125:デフォルトの名無しさん
14/09/22 00:48:28.69 2mp10LVt
決定に至った理由なんてのは楽屋裏を知らないと明言できるはずがない。
せいぜい強く推察できる…という主張ができるくらいだろう。
だから理由を知りたいが疑い深い人だったら自力で調査するしかないだろう。

126:デフォルトの名無しさん
14/09/22 01:06:15.66 4/XZCUNz
>>122
それ以外の答えを持っているならぜひ教えて欲しいね。
君は日本語は得意みたいだけど、論理力が無いのかな?

127:デフォルトの名無しさん
14/09/22 04:04:11.09 5JECNKJa
K&R第2版に>>113と似たようなことが書かれている
どうしてそういう設計にしたのかなんてニッチな話は
設計者K&Rにしかわからんだろ

128:デフォルトの名無しさん
14/09/22 21:12:28.80 wq/41zv3
>>126
>>123

129:デフォルトの名無しさん
14/09/23 00:15:17.01 6PMa5Put
>>126
日本語が不自由な人ですね


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch