簡體   English   中英

我需要轉換未簽名的字符嗎?

[英]Do I need to cast unsigned chars?

我正在使用

unsigned char ucONE = (unsigned char)1;

作為全局變量。

這有必要嗎?

不可以,整數類型(包括3種類型的charunsigned charsigned char )可以隱式地相互轉換。 但是,由於這種行為可能並不總是有意的,因此一些編譯器會發出警告,並且某些代碼約定要求強制轉換以使轉換明確。

無論如何, 如果進行轉換 ,則應首選C ++轉換運算符,因為它們更受限制,因此更安全。 就您而言,這可能是static_cast

正如其他人已經暗示的那樣,全局變量並不總是最佳做法,並且值為1的變量(非常數)“ 1”有些許可疑,但是在不了解您的設計的情況下,很難判斷這些選擇是否合適。

暫無
暫無

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

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