Adakah Kata Kunci Auto C 11 Terlalu Banyak?
Walaupun kata kunci auto telah terbukti tidak ternilai dalam mengendalikan jenis templat yang kompleks, seperti yang dimaksudkan oleh pereka bentuknya, timbul kebimbangan mengenai penggunaannya secara berlebihan dalam senario yang lebih mudah. Patutkah auto digunakan untuk mengelakkan jenis menyatakan secara eksplisit, walaupun untuk ungkapan mudah seperti std::make_shared
Penggunaan Yang Dimaksudkan dan Garis Panduan Praktikal
Mengikut jawatankuasa standard C, auto harus digunakan apabila menyatakan secara eksplisit jenis itu mencabar tetapi jenis sebelah kanan adalah jelas. Sebagai contoh, pertimbangkan kod berikut:
my_multi_type::nth_index<2>::type::key_type::composite_key_type:: key_extractor_tuple::tail_type::head_type::result_type
Mendapatkan semula jenis kunci komposit dalam boost::multi_index memerlukan ungkapan kompleks ini. Walaupun jenis itu diketahui sebagai int, auto harus digunakan untuk meningkatkan kebolehbacaan dalam kes sedemikian.
Kes Penggunaan Disyorkan
Gunakan auto apabila:
Contoh
Cutionary Tales
Atas ialah kandungan terperinci Adakah Kata Kunci `auto` C 11 Terlalu Digunakan: Bilakah Anda Harus Mengelak Penaipan Eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!