今天看了c++ primer,介紹前自增操作符和後自增操作的差別。順便了解了為什麼c++不叫++c?
c++的c說明了它本質上是從c語言演化過來的,c++語言是c語言的超集,是在c語言基礎上進行的擴充套件(引入了new、delete等c語言中沒有的操作符,增加了物件導向程式設計的支援,等等),是先有c語言,在進行c++。根據自增操作符前、後置形式的差別,c++表示對c語言進行擴充套件之後,還可以使用c語言的內容,而寫成++c則表示無法再使用c的原始值了,也就是說c++不能向下相容c了,這與實際情況不符。
另外在談談,前置操作符和後置操作符的效率問題。前置操作需要做的工作更少,只需要加1後返回加一後的結果即可。而後置操符必須先儲存運算元原來的值,以便返回加一之前的值作為操作的結果。對於int型物件和指標,編譯器可能優化掉這項額外工作。但是對於更多的複雜迭代器型別,這種額外工作可能會花費更大的代價。
C 為什麼不叫 C
c primer 確實給我帶來了很多驚喜。作為一本專業的具有較高門檻的 入門書 它有很多地方實在是國內的書不可及的,這不僅在於內容上的嚴謹,更表現在優秀的習題所帶給學習者的啟迪。習題5.16 你認為為什麼c 不叫做 c?看到這個習題,頓感眼前一亮 不禁想起某些國內書籍的題目,真是平淡如水 這對於理解...
為什麼C 不叫 C
這是乙個叫人眼前一亮的題目,在讓人熟悉自增操作前置和後置兩種形式時,也可以了解下c 的命名來歷。自增 操作符有前置和後置兩種形式,其區別如下 i 返回的是左值,是i 加1 後 i 這個物件本身 i 返回的是右值,i 這個物件會加1 但返回的是i 未修改前的數值。兩種不同的返回值是由於其本質操作不同導...
為什麼叫C 而不叫 C
在討論這個問題之前,我們先討論一下自增和自減操作符。其它的話就不說了,先給個例子 int i 0 j j i j 1 i 1 j i j 1 i 2 雖然都使運算元加1,但是區別在於 i返回的是加1後的值,即返回的是物件本身。即將自己先加1再返回,返回的是物件 變數 本身,即是左值。而後置操作先返回...