size-t

    1熱度

    1回答

    我有一個包含一個模板類下面的頭文件: #ifndef VECTOR_H #define VECTOR_H namespace lgl { namespace maths { template<class T, std::size_t SIZE> class Vector { public: Vector();

    1熱度

    3回答

    在C典型的循環,可以寫成: for (unsigned int i = 0; i < 10; i++) {} 然而,有些人建議使用size_t代替: for (size_t i = 0; i < 10; i++) {} 因爲unsigned int當指數增長在UINT_MAX可能會失敗。 雖然我明白這一點,有時我需要與其他固定長度類型,如uint32_t一起使用size_t,或寫一些siz

    0熱度

    2回答

    如果std::string的std::size_type是默認分配的, 21.3.1類模板basic_string的 typedef typename allocator_traits<Allocator>::size_type size_type; 而且std::size_type默認分配是,std::size_t, 20.9.9默認分配 typedef size_t size_type; 而我

    1熱度

    1回答

    我目前正在開發一個可以在各種平臺上運行的C軟件項目。我儘量保持儘可能接近C90標準,但需要一些通用支持的擴展,如stdint.h和一個無符號long long類型。因爲我使用的某些編譯器不支持所有C99功能,比如混合聲明和代碼等,所以我故意不希望「回退」到C99標準。 因此,我目前使用gcc編譯所有代碼我的(64位Ubuntu)開發機器有-Wall -Wextra -pedantic -std=g

    0熱度

    1回答

    size_t和int之間的差異已被詳細記錄下來,我重申:前者是某個無符號整數類型的別名,它依賴於實現,而後者是有符號的;前者對於內存聲明更可取,而後者則更適合算術操作。我的問題是,如果我做一些算術運算來給出一個int(永遠不會太大,並且總是正數),並將其賦值給一個size_t變量(用於訪問數組位置),是否有任何情況哪一個問題可能出現?

    4熱度

    2回答

    我有這樣的C++代碼示例: void test() { rapidjson::Document doc; doc.SetObject(); const std::string source = "The quick brown fox jumps over the lazy dog"; rapidjson::Value source_val;

    0熱度

    2回答

    我剛剛遇到一個小問題,當在一些代碼中使用size_t值。 首先,我想使用size_t,因爲它在大多數平臺上[保證]大小相同,從32位到64位不應該引起任何問題。 然後我否定了size_t值並得到了一個非常大的數字,回想起來我意識到size_t是無符號的。有intptr_t也有簽名,但應該用於指針和uintptr_t這是無符號的,也用於指針。 我最終的目標是在c中實現一組簡單的定點數學函數。 我的問

    2熱度

    2回答

    該程序編譯時沒有警告,並提供了預期的輸出。 #include <stdio.h> #include <stddef.h> int i; size_t s = sizeof(i); int main(void){ printf("%zu \n", s); } 但這個程序不編譯,我遵守以下警告和錯誤: #include <stdio.h> #include <stddef

    1熱度

    1回答

    int bar(const size_t value) { char *d = (char*) value; *d = 'B'; } int main() { char bar = 'A'; bar((size_t)&d); } 是使用size_t模擬空指針類型的法律?爲什麼? 它有什麼好處/缺點?

    0熱度

    1回答

    這裏是我的代碼: std::cout << _cSample << " - " << _bSample << " = " << (_cSample - _bSample) << std::endl; 輸出給我:3525 - 150000 = 18446744073709405141 ,我仍然不知道爲什麼?也許是因爲他們沒有簽名? 我如何減少2 size_t?在這裏,我想得到一個基