Rumah >pembangunan bahagian belakang >C++ >Bila dan Cara Menggunakan Tanda Kurung Tambahan dalam C untuk Memanipulasi Carian Nama, Gelagat Operator Koma atau Penilaian Ungkapan?
Walaupun tanda kurung tambahan secara amnya tidak mengubah maksud program C, terdapat situasi khusus di mana mereka mempunyai kesan, melangkaui keutamaan pengendali asas:
Kurungan di sekeliling panggilan fungsi, seperti (fn)(arg), menghalang carian nama bergantung kepada hujah (ADL). Tanpa kurungan, fn(arg) akan mencari dalam melampirkan ruang nama untuk kemungkinan fungsi padanan.
Dalam konteks senarai seperti argumen fungsi atau senarai pemula, a, (b, c), d membenarkan pengendali koma untuk digunakan pada (b, c) secara berasingan, tidak seperti standard a, b, c, d tatatanda.
Kurungan tambahan boleh menyahkekaburan kod apabila sintaks seperti pengisytiharan bertembung dengan fungsi atau pernyataan ungkapan. Contohnya, dalam S w(int(a)); dan S y((int)a);, kurungan menjelaskan bahawa ia adalah pengisytiharan objek, bukan pengisytiharan fungsi.
decltype(e) menyimpulkan sama ada operan ialah rujukan lvalue atau rvalue. Menambah kurungan, seperti dalam decltype((e)), memaksa operan untuk dianggap sebagai rujukan rnilai.
Kurungan boleh digunakan dalam definisi makro untuk mengelakkan isu keutamaan pengendali, melindungi hujah makro dengan koma dan menghalang pengembangan makro dalam pengepala. Contohnya, #define TIMES(A, B) (A) * (B); memastikan bahawa TIMES(1 2, 2 1) menilai kepada 9.
Atas ialah kandungan terperinci Bila dan Cara Menggunakan Tanda Kurung Tambahan dalam C untuk Memanipulasi Carian Nama, Gelagat Operator Koma atau Penilaian Ungkapan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!