2013-08-03 164 views
2

我現在正在研究寫二進制文件。我在StackOverflow上看到過這個問題。作者說,在他的代碼C++`long long`變量類型

const unsigned long long size = 1ULL*1024ULL*1024ULL; 

我實際上不知道什麼是ULL symbols。有人能給我一些關於它的文檔嗎?我在Google上搜索過,並且我得到的所有內容都是關於編寫文件的更多文檔...

回答

3

它是指定的文字的類型(在這種情況下,整數常量)的後綴。

可以在2.14瞭解更多有關此方面的C++標準,特別是 - 字面

在你的情況,答案就在下面的表格中(從這個非常標準的一部分):unsigned long long

Integer literals suffixes

+3

BTW使用大寫L代替L的小寫,因爲它很容易混淆l在1 –

+0

任何人撰寫的「表6 - 整型常量的類型」可能會升值的功勞。 –

+1

@JonathanMee我在上面提到它來自標準。 – JBL

2

它使1和1024爲unsigned long long常數,否則它們將默認爲int(根據值的數量要表示的):

std::cout << sizeof(1ULL) << sizeof(1);