[問題] auto宣告的記憶體問題
如題,這可能很少人問過
書上寫說區域變數其實都自動預設auto,
在編譯過程中並不會配置一塊記憶體空間,而是在程式執行時以堆疊的方式存放,
因此他是屬於動態的變數。
^^^^^^^^^^^^^^^^^^^^^^ 此段是出自洪維恩的書
但是又在動態記憶體章節上面寫說C++都是預設靜態什麼的 很讓人搞混
ok 總之我目前的認知是一般的陣列是靜態宣告...
(以下都是區域變數)
int a; 跟 auto int a; 等價,而且這是動態
int a[5]; 是靜態,,,應該吧?
那假設我宣告如下(當然是區域):
auto int a[5]; 這到底該算靜態還是動態? 已經試過編譯可以過...
如果是靜態那不是表示auto關鍵字在這裡沒用嗎@@?
如果是動態的話那跟
int* a; a = new int[5];又有何不同
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.182.130
※ 編輯: amozartea 來自: 60.248.182.130 (01/19 14:52)
※ 編輯: amozartea 來自: 60.248.182.130 (01/19 14:54)
→
01/19 14:55, , 1F
01/19 14:55, 1F
→
01/19 14:56, , 2F
01/19 14:56, 2F
auto是c關鍵字...可以看一下
所以表示就算在陣列前面打auto也不會自動回收 那這關鍵字真的很怪...
※ 編輯: amozartea 來自: 60.248.182.130 (01/19 14:57)
推
01/19 14:57, , 3F
01/19 14:57, 3F
→
01/19 14:58, , 4F
01/19 14:58, 4F
→
01/19 14:59, , 5F
01/19 14:59, 5F
我不太懂跟第十戒有何關係...因為他沒有講到auto..
→
01/19 14:59, , 6F
01/19 14:59, 6F
→
01/19 14:59, , 7F
01/19 14:59, 7F
※ 編輯: amozartea 來自: 60.248.182.130 (01/19 15:01)
推
01/19 15:01, , 8F
01/19 15:01, 8F
→
01/19 15:01, , 9F
01/19 15:01, 9F
→
01/19 15:01, , 10F
01/19 15:01, 10F
→
01/19 15:01, , 11F
01/19 15:01, 11F
第五戒比較接近我的問題就是了...
※ 編輯: amozartea 來自: 60.248.182.130 (01/19 15:02)
→
01/19 15:02, , 12F
01/19 15:02, 12F
→
01/19 15:03, , 13F
01/19 15:03, 13F
→
01/19 15:03, , 14F
01/19 15:03, 14F
→
01/19 15:05, , 15F
01/19 15:05, 15F
→
01/19 15:07, , 16F
01/19 15:07, 16F
→
01/19 16:22, , 17F
01/19 16:22, 17F
推
01/19 16:29, , 18F
01/19 16:29, 18F
→
01/19 18:04, , 19F
01/19 18:04, 19F
推
01/20 02:41, , 20F
01/20 02:41, 20F
→
01/20 02:42, , 21F
01/20 02:42, 21F
→
01/20 02:43, , 22F
01/20 02:43, 22F
→
01/20 02:44, , 23F
01/20 02:44, 23F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章