stack-memory

    4熱度

    2回答

    我一直在閱讀關於這個主題的不同文章/頁面,最後來到this article,這讓我很困惑! 在文章中提到Value Types always go where they were declared,作者的意思是,值類型可以位於堆棧或堆中,這取決於它們聲明的方式/位置。 讓我放下了一段代碼,讓自己更清楚: public class Test { int testInt; str

    2熱度

    1回答

    我正在學習C++,我有一個問題,關於我正在使用的材料。我認爲編輯可能存在一些錯誤,但我不確定。我的書名叫「C++通過遊戲編程」。 下面是書中的代碼,它在第9章 class Critter { public: Critter(const string &name = "", int age = 0); ~Critter(); Critter(const Critter

    2熱度

    2回答

    可能重複: In which cases is alloca() useful? 我最近偶然看到了用,alloca()函數。谷歌搜索告訴我,它用於分配堆棧空間。我無法抓住它的應用程序?另外,使用它有什麼缺陷嗎?

    1熱度

    4回答

    我有接受const矢量引用的方法。我想把一個可變的矢量版本放在堆上,然後返回 這個編譯,但我不確定它是否真的在做我的想法。我不確定我是否幸運地在這裏的內存: vector<Type> *vect = new vector<Type>; *vect = vectReference;

    4熱度

    1回答

    我聽說放置在C++堆棧中的數據很可能出現在CPU緩存中。 http://www.gamedev.net/topic/564817-stack-and-cache-question-optimizing-sw-in-c/#entry4617168 「堆棧是因爲相同 範圍的存儲器地址被一次又一次地重新使用來存儲數據的最有效的地方」。 由於操作的隱含順序, 堆棧上最常訪問的數據幾乎肯定總是在L1緩存中。

    0熱度

    1回答

    有沒有什麼好的方法可以將堆放置在堆上以防止堆棧溢出? 當然,有方法來存儲自己的堆棧和放置函數的變量(框架),只是模擬遞歸,並且,通過所有外觀,我正在尋找像裝飾器,它會自動執行的東西。

    0熱度

    1回答

    我正在研究綁定過程和基於存儲綁定的變量分類。所以,我面臨着四種變量: 靜態變量:這些變量在執行前(即編譯期間)綁定到內存,並在整個執行過程中保持綁定狀態。 堆棧動態變量:這些變量在編譯時靜態綁定到某個類型,但它們沒有綁定到內存位置,直到代碼執行達到聲明。 顯式堆動態變量:這些變量通過顯式運行時,程序員指定的指令進行分配和釋放。堆,而不是堆棧,用於提供所需的存儲單元。 隱式堆動態變量:這些變量的所有

    -1熱度

    1回答

    Possible Duplicate: Stack level too deep in Ruby trying to draw a random card 這是一個酒杯模擬器我爲了檢查的時間可能贏取給予不同策略的比例製成。代碼: one_suit = [2,3,4,5,6,7,8,9,10,10,10,10,11]; #the value of the cards for blackjack $

    5熱度

    2回答

    功能ctime的原型是 char *ctime(const time_t *timep); 我們可以看到,它返回一個字符串。但是,在哪裏被遏制? ,爲什麼我們不應該釋放該字符串的內存 這是示例代碼將獲得大量的錯誤信息 char *p; p = ctime(...); ... free(p); *** glibc的檢測*** ./a.out: free():無效指針:0x00007f0

    0熱度

    1回答

    根據問題What and where are the stack and heap?,我或多或少地理解了堆棧內存和堆內存。另一個問題浮現在腦海,但是: 多數來源我讀過描述堆棧內存在內存的實際堆棧數據結構表示。堆內存是否一樣?是由最小/最大堆數據結構表示/抽象的堆內存?如果不是,那麼使用什麼數據結構來實現堆內存?