ฉันยังใหม่กับ 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);
มีความแตกต่างหรือไม่? และมีความแตกต่างด้านประสิทธิภาพหรือไม่? สิ่งนี้เรียกว่า พันล้าน ครั้ง
int
มักจะถูกละเว้น - person Ron   schedule 13.09.2020unsigned int
และunsigned
โดยตัวมันเองหมายถึงสิ่งเดียวกัน ในกรณีunsigned
เพียงอย่างเดียวint
ถือเป็นนัย ไม่มีความแตกต่างด้านประสิทธิภาพ - person Eljay   schedule 13.09.2020