[問題] sizeof內含運算式的情形

看板C_and_CPP (C/C++)作者 (鋼琴)時間14年前 (2011/09/05 01:53), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
在GCC和VC測試過,於sizeof()中置入運算式或函數,如: sizeof(i++) 或 sizeof(f(i)) 裡面的運算式或函數皆不會被執行,而只是抓i或f()回傳值的型態大小, 請問這是取決於編譯器,或是規格的哪裡有規定嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.218.178

09/05 02:10, , 1F
C99 (N1256) 中除了 VLA 特例外不會去算。(6.5.3.4p2)
09/05 02:10, 1F

09/05 02:17, , 2F
http://codepad.org/hBsDsUs3 幫忙找到原文
09/05 02:17, 2F

09/05 02:22, , 3F
感謝大神<(_ _)>。
09/05 02:22, 3F

09/05 03:08, , 4F
這個讓我想到 _countof 的實作...
09/05 03:08, 4F
文章代碼(AID): #1EOxis9B (C_and_CPP)
文章代碼(AID): #1EOxis9B (C_and_CPP)