Rumah >pembangunan bahagian belakang >C++ >Apakah perbezaan, jika ada, antara (jenis)nilai dan jenis(nilai) dalam tuangan C?

Apakah perbezaan, jika ada, antara (jenis)nilai dan jenis(nilai) dalam tuangan C?

Susan Sarandon
Susan Sarandonasal
2024-11-21 05:43:10246semak imbas

What are the differences, if any, between (type)value and type(value) in C   casting?

Memahami Nuansa (jenis)nilai dan jenis(nilai) dalam C

Dalam C , dua sintaks berbeza wujud untuk penghantaran jenis eksplisit : (jenis)nilai dan jenis(nilai). Perbezaan ini menimbulkan persoalan: apakah perbezaan, jika ada, antara kedua-dua ungkapan ini?

Tiada Perbezaan dalam Tuangan Mudah

Mengikut standard C (bahagian 5.2 .3), apabila penentu jenis mudah diikuti dengan satu ungkapan yang disertakan dalam kurungan, ungkapan yang terhasil mencipta nilai jenis yang ditentukan daripada ungkapan yang diberikan.

Kesamaan (jenis)nilai dan jenis(nilai)

Untuk satu ungkapan, (jenis)nilai adalah bersamaan dengan jenis(nilai) dalam kedua-dua definisi dan makna. Ini bermakna tiada perbezaan sama sekali antara kedua-dua ungkapan ini apabila menghantar nilai tunggal kepada jenis yang ditentukan.

Perbezaan dengan Berbilang Nilai

Walau bagaimanapun, perbezaan yang ketara timbul apabila menghantar senarai nilai yang dipisahkan koma. Dalam kes ini, jika jenis yang ditentukan ialah kelas dengan pembina yang diisytiharkan sesuai, maka type(x1, x2, ...) adalah bersamaan dengan mencipta pembolehubah sementara t jenis T dengan nilai yang diberikan dan memberikan nilai t kepada ungkapan itu.

Sekatan Nama Taip

Sebagai nota tambahan, terdapat nama jenis tertentu yang sintaks jenis(nilai) tidak boleh digunakan. Sebagai contoh, sementara (char )rentetan adalah sah, char (rentetan) akan gagal penyusunan. Walau bagaimanapun, jika jenis dialiaskan menggunakan typedef, sintaks jenis(nilai) boleh digunakan dengan nama alias.

Atas ialah kandungan terperinci Apakah perbezaan, jika ada, antara (jenis)nilai dan jenis(nilai) dalam tuangan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn