static_cast‹unsigned› vs static_cast‹unsigned int› [duplikat]

Saya baru mengenal C++, jadi harap anggap enteng ini. Saya menggunakan resharper untuk mengonversi beberapa kode dari gips gaya c ke gips gaya c++.

Kode ini di sini:

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

Diubah menjadi

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

alih-alih:

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

Apakah ada perbedaan? Dan juga, apakah ada perbedaan kinerja? Ini disebut miliar kali.


person ABCD Man    schedule 13.09.2020    source sumber
comment
Tidak ada perbedaan apapun. Keduanya memiliki arti yang sama. Berdasarkan konvensi, bagian int sering dihilangkan.   -  person Ron    schedule 13.09.2020
comment
@Ron Bagaimana dengan kinerja?   -  person ABCD Man    schedule 13.09.2020
comment
unsigned int dan unsigned dengan sendirinya memiliki arti yang sama. Dalam kasus unsigned itu sendiri, int tersirat. Tidak ada perbedaan kinerja.   -  person Eljay    schedule 13.09.2020
comment
Ahh ok. Mengerti, terima kasih!   -  person ABCD Man    schedule 13.09.2020


Jawaban (1)


Apakah ada perbedaan?

unsigned int memiliki 4 karakter lebih banyak dari unsigned. Tidak ada perbedaan lainnya.

Dan juga, apakah ada perbedaan kinerja?

No.

person eerorika    schedule 13.09.2020