ちゅるやさんが左辺値について学ぶようです

ちゅるやさんがそういう反応するなら説明せねばなるまい


             -‐ '´ ̄ ̄`ヽ、
            / /" `ヽ ヽ  \
          //, '/     ヽハ  、 ヽピキーン!!
______/ {_{`ヽ   ノ リ| l │ i|._∧,、_________
 ̄ ̄ ̄ ̄ ̄ ̄レ!小l●    ● 从 |、i| ̄'`'` ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ|l⊃ 、_,、_, ⊂⊃ |ノ│ 
        /⌒ヽ__|ヘ   ゝ._)   j /⌒i ! Cでは ++ がくっついた変数を左辺値にできないけど、
      \ /:::::| l>,、 __, イァ/  /│ C++では ++ がくっついた変数を左辺値にできるにょろ!
.        /:::::/| | ヾ:::|三/::{ヘ、__∧ |  流石C++! ++ がついてるのは伊達じゃないにょろ!
       `ヽ< | |  ヾ∨:::/ヾ:::彡' |


あんな語彙の少ない日記にわざわざご説明頂いてありがとうございます。


Cではインクリメント・デクリメントが左辺値になれないんですかー。右辺値とか単独でしかインクリメント・デクリメントは使った事なかったんで、知りませんでした。
そしてC++では可能、と。ふむふむ。

int main()
{
	int i = 0;
	++i = 25;
	i++ = 25;//'=' : 左のオペランドが、左辺値になっていません。

	//void *v;
	//((int*)v) = &i;

	return 0;
}

……ふむふむ? 後置インクリメントだと左辺値になれない?(VC++2008 Express 調べ)
うーん……前置と後置で挙動が変わる理由って……

          , -‐ '´ ̄ ̄`ヽ、 
         /:::::/" `ヽ ヽ:::::::\ 
        /:::::::::/     ヽ ヽ:::::::::ヽ 
        l:::::::{:::l ,    ー-j从:ヽ::::.ヽ 
        | ::i::ル{レ'     ●` li!:: ト、:::.', 
        /⌒)i"●      l|:: ||ノ:::.l 
      /   yi ヘ⊃   ,_,⊂⊃l|:: |:::::::::.l ・・・にょろ? 
      (  /ス、,ゝ、_ `´   ィ<|:: |_:::::::.l   結局伊達?
       '</ |l:::: i "Tーイ'^ァレ'l_::::::.l 
        \,,t|l:::: l'ヾ::|三/:://l/ ヽ、'i 
         |::|l:::: l ヾ∨:::/ ヒ::::彡, | :ji

なんていうか、不勉強すぎて駄目だ俺\(^o^)/