[英]long long to int and int to long long conversion
我想知道轉換是否像:
int to long
int to long long
long to int
long long to int
long long to long
long to long long
和
long double to double
double to long double
(並且類似地用於無符號)是昂貴的操作。 我們是否應該擔心這種轉換並定義適當的分配類型? (當然,存在丟失精度的風險,但是我沒有寫出來。我在詢問性能)。
例如,如果我確定該數字可以int
類型存儲。 我必須在函數中分配一些內容,如: void writeToX(long long& x)
。
傳遞long long x
而不是int x
函數重要嗎?
您應始終努力避免類型轉換,因為它們通常表示不良的編程風格。
這與轉換操作的開銷無關,但是請注意,您列出的某些轉換(尤其是浮點數與整數類型之間的轉換)並不是特別便宜。
在C ++中,轉換為無法保存該值的類型的行為通常是不確定的。 因此,通常需要通過大小檢查來實現安全的轉換,這只會增加費用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.