[討論] 置底十三誡新增
目前想新增一些東西,希望板友能夠提出一些idea。
有了題目板工才能寫內容 @@
我希望能置底的誡律至少要符合其中一項條件:
- 很重要的觀念,但是很多人會搞錯。
- C跟C++都有的東西,但是用起來不一樣。
目前板工想到的有:
- 空指標 (把之前寫的補充一下)
- call by value / call by reference的謬誤
- C/C++ 轉型的差異(const, void*)
- lvalue & rvalue
有其他想法請踴躍提供,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.196.41
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1475404475.A.347.html
→
10/02 18:55, , 1F
10/02 18:55, 1F
C沒有reference,可是還真的有很多人以為C有call by ref.....(把pointer當ref. = =)
C有lvalue跟rvalue,至少在standard裏面有(不過沒像C++中定義的那麼清楚)
C99/C11:
The name ‘‘lvalue’’ comes originally from the assignment expression
E1 = E2, in which the left operand E1 is required to be a (modifiable) lvalue.
It is perhaps better considered as representing an object ‘locator value’.
What is sometimes called ‘‘rvalue’’ is in this International Standard described
as the ‘‘value of an expression’’.
關於rvalue只有這一段
※ 編輯: wtchen (90.41.196.41), 10/02/2016 20:21:31
※ 編輯: wtchen (90.41.196.41), 10/02/2016 21:10:54
→
10/02 21:27, , 2F
10/02 21:27, 2F
→
10/02 21:27, , 3F
10/02 21:27, 3F
例如13誡-8 :
i = v[++i];
這code在C++是OK的,C不行。
因為++i在C++裏面是lvalue(可被assign)
(在C裏面好像沒那麼麻煩,C++就)....
※ 編輯: wtchen (90.41.196.41), 10/02/2016 21:39:06
→
10/02 21:46, , 4F
10/02 21:46, 4F
推
10/02 21:53, , 5F
10/02 21:53, 5F
推
10/02 22:05, , 6F
10/02 22:05, 6F
→
10/02 22:05, , 7F
10/02 22:05, 7F
→
10/02 22:13, , 8F
10/02 22:13, 8F
推
10/02 23:06, , 9F
10/02 23:06, 9F
→
10/02 23:07, , 10F
10/02 23:07, 10F
→
10/02 23:12, , 11F
10/02 23:12, 11F
→
10/02 23:49, , 12F
10/02 23:49, 12F
→
10/02 23:50, , 13F
10/02 23:50, 13F
→
10/02 23:51, , 14F
10/02 23:51, 14F
推
10/03 13:46, , 15F
10/03 13:46, 15F
→
10/03 13:47, , 16F
10/03 13:47, 16F
→
10/03 13:48, , 17F
10/03 13:48, 17F
推
10/03 14:30, , 18F
10/03 14:30, 18F
→
10/03 15:38, , 19F
10/03 15:38, 19F
→
10/03 19:08, , 20F
10/03 19:08, 20F
→
10/03 19:09, , 21F
10/03 19:09, 21F
→
10/03 19:18, , 22F
10/03 19:18, 22F
→
10/03 19:18, , 23F
10/03 19:18, 23F
推
10/04 00:34, , 24F
10/04 00:34, 24F
→
10/04 00:34, , 25F
10/04 00:34, 25F
→
10/04 00:34, , 26F
10/04 00:34, 26F
→
10/04 00:35, , 27F
10/04 00:35, 27F
→
10/04 00:36, , 28F
10/04 00:36, 28F
→
10/04 00:43, , 29F
10/04 00:43, 29F
→
10/04 12:04, , 30F
10/04 12:04, 30F
→
10/04 12:08, , 31F
10/04 12:08, 31F
→
10/04 16:06, , 32F
10/04 16:06, 32F
→
10/06 00:22, , 33F
10/06 00:22, 33F
討論串 (同標題文章)