size-t

    4熱度

    2回答

    我想聲明一個char數組的大小,並且我需要使用聲明爲size_t的變量的值來聲明該大小。無論如何,我可以將size_t變量轉換爲int類型,以便我可以這樣做?

    7熱度

    2回答

    今天我第一次做了我的項目的64位版本。基本上它編譯,鏈接並運行正常,除了警告抱怨新的,64位size_t類型和簡單的int類型之間的不兼容性。這種情況多發生在我的代碼,這樣的情況: void func(std::vector<Something> &vec) { int n = vec.size(); for (int i=0; i < n; i++) {

    2熱度

    1回答

    可能重複的: unsigned int vs. size_t 當我需要存儲的東西(通常用的東西分配new)的尺寸,我總是存儲在一個unsigned int。瀏覽一些代碼,但是,我看到size_t使用。根據this,它很難用於很多。 C++中的size_t的要點是什麼? 爲什麼這些使用它的函數不是使用unsigned int而是? 它應該如何在新代碼中使用?

    3熱度

    6回答

    我想宣佈一個非常大的數組。我發現,陣列的最大尺寸是爲size_t,其被定義爲UINT_MAX 所以我寫這樣 int arr[UINT_MAX]; 代碼當我編譯此,它說溢出在數組維度 但當我這樣寫 size_t s = UINT_MAX; int arr[s]; 它編譯正確。 有什麼區別

    3熱度

    3回答

    在我的應用程序中,我分配內存來存儲從位圖圖像堆棧中讀取的「卷數據」。 我將數據存儲在「unsigned char」中,並且在分配過程中,首先嚐試爲整個數據分配連續的內存塊。如果失敗,則嘗試分散分配(每個圖像一個小內存塊)。 unsigned char *data; 這裏是我分配內存的方法,我用「tryContinouseBlock = true」調用。 bool RzVolume::initV

    3熱度

    6回答

    size_t是否僅限於C++標準或C標準? 我在定義size_t的「/ usr/include」樹中找不到C頭。 如果它不在C標準中,GCC只是在做一些神奇的事情來使事情發揮作用嗎? 謝謝, Chenz

    5熱度

    1回答

    我的代碼: unsigned int length = strlen(somestring); 我與4警告級別編譯和它告訴我,「轉化率從size_t到unsigned int,可能丟失數據」當size_t是一個一個typedefunsigned int。 爲什麼? 編輯: 我剛剛解決了我自己的問題。我是XP用戶,我的編譯器正在檢查64位兼容性。由於size_t是平臺相關的,對於64位,它將是u

    4熱度

    2回答

    與conversion to ‘size_t’ from ‘int’ may change the sign of the result - GCC , C中描述的內容一樣,我反而希望確保在GCC 4.2下收到警告。 1在VS2008 SP1下同時在32位和64位編譯下標記,與禁用GCC下的警告以適應VS2008。 例如,64位的條件下,下GCC 4.2.1中,我們看到作爲警告-Wall條件下執行

    10熱度

    3回答

    什麼是轉換的正確方法/施放一個int在C99一size_t上32位和64位Linux平臺? 實施例: int hash(void * key) { //... } int main (int argc, char * argv[]) { size_t size = 10; void * items[size]; //... void * ke

    0熱度

    2回答

    這是關於爲什麼size_t是必要的my previous question的後續行動。 鑑於size_t會保證足夠大代表的內存,你可以分配塊的最大尺寸(這意味着有可能仍然會有一些整數比的size_t大),我的問題是... 什麼決定你可以一次分配多少?