討論串[問題] 一個簡單的const問題
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓3(3推 0噓 12→)留言15則,0人參與, 最新作者suhorng ( )時間15年前 (2011/07/06 20:07), 編輯資訊
0
0
0
內容預覽:
不好意思我借標題再問另一個問題. 我在寫一個函式時會傳入一個指標 而我希望該指標指到的內容不可更改. 但是問題來了, 我前面是這樣定義的. typedef int *my_ptr;. void test(my_ptr pint) {. }. 那該怎麼做才能讓 pint 指到的位址不可更改 ?. 麻煩

推噓6(6推 0噓 22→)留言28則,0人參與, 最新作者Favonia (小西風最乖了*^^*)時間15年前 (2011/07/05 17:03), 編輯資訊
0
0
3
內容預覽:
如同各位大大指出,C99/C++03 中試圖寫入 const 的東西(object)都是. 未定義行為(除了 C++ 中的 mutable)[1]. 在此想要多補充「未定義」的意. 思:一個程式一旦含有「未定義的行為」,整個程式都沒有規定,而不是執行. 到某行後程式才突然當掉或是有不可預期的結果。例
(還有1650個字)

推噓5(5推 0噓 8→)留言13則,0人參與, 最新作者littleshan (我要加入劍道社!)時間15年前 (2011/07/05 14:25), 編輯資訊
0
0
0
內容預覽:
^^^. compile 到這一行的時候. 聰明的 compiler 發現 var 是常數. 所以不需要再從記憶體中取值了. 直接把 10 拿來傳進 printf 即可. 這叫 constant propagation. 是相當基本的最佳化技術. 因為你跟 compiler 說 var 是常數. 所
(還有62個字)

推噓1(1推 0噓 11→)留言12則,0人參與, 最新作者XYX16888 (XYX)時間15年前 (2011/07/05 13:56), 編輯資訊
0
0
0
內容預覽:
MAC OS / xcode 4 compile. code :. int main(void). {. const int var = 10;. int *vptr = &var;. *vptr = 20;. printf("%d\n", var);. printf("%d\n", *vptr);
(還有91個字)
首頁
上一頁
1
下一頁
尾頁