Rujukan Const dalam C : Const Sebelum atau Selepas Penentu Jenis?

Mary-Kate Olsen
Lepaskan: 2024-11-15 10:52:02
asal
193 orang telah melayarinya

Const Reference in C  : Const Before or After the Type Specifier?

Rujukan Const: Sebelum vs. Selepas Penentu Jenis

Dalam C , terdapat perbezaan halus dalam sintaks untuk mengisytiharkan rujukan const:

int foo1(const Fred &arg) {
...
}
Salin selepas log masuk
int foo2(Fred const &arg) {
...
}
Salin selepas log masuk

Kedua-dua kaedah pengisytiharan menghasilkan rujukan berterusan kepada objek Fred. Walau bagaimanapun, peletakan kata kunci const tidak mempunyai kesan semantik.

Sebagai Soal Gaya

Walaupun gelagat pengisytiharan ini adalah sama, terdapat pilihan gaya untuk pertimbangkan.

Sesetengah memilih const T& (dan const T*), memetik:

  • Penjajaran dengan buku Stroustrup dan standard C
  • Keakraban di kalangan pengaturcara C berpengalaman
  • Penggunaan biasa dalam industri

Yang lain memilih T const& (dan T const*), berdasarkan kebolehbacaan:

  • Penghuraian kanan-ke-kiri yang konsisten
  • Mengurangkan risiko tersalah letak * atau mentafsir T const* dengan salah

Penghuraian Kanan-ke-Kiri

Hak ke- peraturan parsing kiri menyatakan bahawa pengisytiharan harus dibaca dari kanan ke kiri. Oleh itu, const T& boleh ditafsirkan sebagai "rujukan kepada const T" atau "rujukan const T." Begitu juga, T const& boleh dibaca sebagai "rujukan const kepada T" atau "rujukan const T." Kedua-dua tafsiran adalah betul dari segi tatabahasa, menjadikan peletakan kata kunci const kurang memberi kesan kepada kebolehbacaan berbanding yang dipertikaikan oleh sesetengah pihak.

Akhirnya, pilihan antara gaya pengisytiharan ini adalah soal keutamaan peribadi. Kedua-duanya betul dari segi sintaksis dan menyampaikan maksud yang sama.

Atas ialah kandungan terperinci Rujukan Const dalam C : Const Sebelum atau Selepas Penentu Jenis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan