[英]C++ Is conversion from int to long a promotion?
在對 web 進行了大量研究之后,我無法確定從 int 到 long 的轉換是否被視為促銷。
如果在此處的 Microsoft 網站上找到以下代碼:
long long_num1, long_num2;
int int_num;
// int_num promoted to type long prior to assignment.
long_num1 = int_num;
但是,它沒有在cppreference 網站上注明。
我理解促銷是一種保持價值的轉換(轉換時不會改變價值)。
有人可以幫我解決這個問題嗎?
提前致謝
據我所知,沒有數據丟失,因為int
和long
都具有相同的 4 字節大小。 您可以通過運行以下代碼來檢查您的編譯器是否同意這一點:
std::cout << sizeof(int) << ' ' << sizeof(long);
output 應為“4 4”。 這意味着它們都是相同的。
編輯:對不起; 謝謝你糾正我。 大小可能會有所不同,請在引用它們時使用sizeof
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.