static_cast‹unsigned› vs static_cast‹unsigned int› [ซ้ำกัน]

ฉันยังใหม่กับ C++ ดังนั้นโปรดใช้สิ่งนี้เบาๆ ฉันใช้ resharper เพื่อแปลงโค้ดบางส่วนจากการแคสต์แบบ c-style ไปเป็นการแคสต์สไตล์ c++

รหัสนี้ที่นี่:

(unsigned int)(ch - start) <= (unsigned int)(end - start);

ถูกเปลี่ยนให้เป็น

static_cast<unsigned>(ch - start) <= static_cast<unsigned>(end - start);

แทน:

static_cast<unsigned int>(ch - start) <= static_cast<unsigned int>(end - start);

มีความแตกต่างหรือไม่? และมีความแตกต่างด้านประสิทธิภาพหรือไม่? สิ่งนี้เรียกว่า พันล้าน ครั้ง


person ABCD Man    schedule 13.09.2020    source แหล่งที่มา
comment
ไม่มีความแตกต่างใดๆ ทั้งสองหมายถึงสิ่งเดียวกัน ตามธรรมเนียมแล้ว ส่วน int มักจะถูกละเว้น   -  person Ron    schedule 13.09.2020
comment
@Ron แล้วประสิทธิภาพล่ะ?   -  person ABCD Man    schedule 13.09.2020
comment
unsigned int และ unsigned โดยตัวมันเองหมายถึงสิ่งเดียวกัน ในกรณี unsigned เพียงอย่างเดียว int ถือเป็นนัย ไม่มีความแตกต่างด้านประสิทธิภาพ   -  person Eljay    schedule 13.09.2020
comment
อ่า โอเค เข้าใจแล้ว ขอบคุณ!   -  person ABCD Man    schedule 13.09.2020


คำตอบ (1)


มีความแตกต่างหรือไม่?

unsigned int มีอักขระมากกว่า unsigned 4 ตัว ไม่มีความแตกต่างอื่น ๆ

และมีความแตกต่างด้านประสิทธิภาพหรือไม่?

No.

person eerorika    schedule 13.09.2020