2011-12-10 374 views

回答

6

USHORT是一個宏,它不是官方C++語言的一部分(它可能被定義或在某處定義了typedef)。 unsigned short是由C++語言定義的一種官方類型,其整數可以至少包含0到65535之間的數字。

使用未簽名的short並且您的代碼將是可移植的 - 除非公司的編碼標準要求,否則不要使用USHORT它。

+3

請注意'typedef'不是一個宏。 –

+0

我正在看一些示例代碼:http://www.cplusplus.com/forum/lounge/17053/在第一個代碼塊。你可以看一下,看看你是否可以弄清楚他們爲什麼使用它? –

+4

@stas:這只是微軟的一種做法,沒有別的原因。這與編寫void void(void)的C'ism大致相同,在C++中,第二個'void'(參數列表中的那個)是沒有意義的。或者寫'double getSin()'的Java''ism,在C++中'get'沒有用處,只是視覺噪聲。乾杯, –

1

unsigned short是標準的C++表達式,USHORT不是。精確的定義可以在維基百科文章Integer (computer science)中找到。

有時,我們在標頭中輸入unsigned short USHORT。然後可以使用USHORT以及未簽名的short。