簡體   English   中英

省略數據類型(例如“ unsigned”而不是“ unsigned int”)

[英]Omitting the datatype (e.g. “unsigned” instead of “unsigned int”)

我知道如果在C / C ++代碼中以這種方式省略數據類型聲明: unsigned test=5; ,編譯器會自動將此變量設為int(在這種情況下為unsigned int)。 我聽說這是C標准,它將在所有編譯器中正常工作。

但是我也聽說這樣做是一種不好的做法。

你怎么看? 我應該真的輸入unsigned int而不是unsigned嗎?

shortlonglong long也是數據類型嗎?

unsigned 是數據類型 碰巧是unsigned int別名。

當您編寫unsigned x; 不會忽略任何數據類型。

這與C(但C ++中沒有)中的“ default int ”完全不同,在C中您實際上省略了聲明中的類型,C會自動推斷出該類型為int

至於樣式,我個人更喜歡露骨,因此寫unsigned int 另一方面,我目前正在使用一個庫,習慣上只寫unsigned ,所以我改為這樣做。

我什至更進一步,並使用stdint的uint32_t類型。
這可能是一個問題,但是我寧願知道我正在使用什么原始語言,而不是出於對每個平台進行優化的古老考慮。

正如@Konrad Rudolph所說, unsigned 數據類型。 它實際上只是unsigned int的別名。

至於使用unsigned的問題是不好的做法? 我會說不,使用unsigned作為數據類型說明符沒有任何問題。 在我看來,專業人士不會為此而煩惱,任何說您必須使用unsigned int編碼標准都是不必要的嚴厲。

無謂的冗長被認為是有害的。 我永遠不會寫unsigned intlong int或任何signedchar或bitfield除外),因為它會增加混亂並減少可容納80列的有意義代碼的數量。 (或更可能的是,鼓勵人們編寫不適合80列的代碼...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM