Rumah >pembangunan bahagian belakang >C++ >Apakah Huruf Berbilang Aksara dalam C dan C dan Adakah Ia Dianggap Gaya Buruk?
Huruf berbilang aksara dalam C dan C
Huruf berbilang aksara ialah pemalar aksara yang mengandungi lebih daripada satu aksara. Dalam C dan C , literal ini adalah jenis int, tanpa mengira aksara yang terkandung di dalamnya. Sebagai contoh, kod berikut mentakrifkan enum menggunakan literal berbilang aksara:
enum { ActionLeft = 'left', ActionRight = 'right', ActionForward = 'forward', ActionBackward = 'backward' };
Piawaian C99 menyatakan bahawa nilai literal berbilang aksara adalah ditakrifkan pelaksanaan, bermakna tafsirannya mungkin berbeza-beza bergantung pada pengkompil dan platform . Ini boleh menjadi masalah untuk penyirian bebas platform, kerana nilai literal berbilang aksara mungkin tidak ditafsirkan secara konsisten merentas platform yang berbeza.
Penggunaan Literal Berbilang Aksara
Walaupun ianya potensi kelemahan, literal berbilang aksara boleh berguna dalam situasi tertentu. Satu kes penggunaan biasa adalah untuk tujuan penyahpepijatan. Dengan menggunakan literal berbilang aksara, lebih mudah untuk mengenal pasti nilai tertentu dalam pembuangan memori. Contohnya:
enum state { waiting, running, stopped };
vs.
enum state { waiting = 'wait', running = 'run.', stopped = 'stop' };
Dalam longgokan memori, literal berbilang aksara akan lebih mudah dikenali daripada nilai integer biasa:
00 00 00 02 . . . .
vs.
73 74 6F 70 s t o p
Adalah Multicharacter Literals Dianggap Gaya Buruk?
Penggunaan literal berbilang aksara dalam C adalah terutamanya untuk keserasian dengan kod C. Secara umum, penggunaan literal aksara tunggal atau literal rentetan dianggap sebagai amalan yang lebih baik apabila sesuai. Walau bagaimanapun, literal berbilang aksara masih boleh berguna dalam situasi tertentu, seperti semasa menyahpepijat atau semasa melakukan pengoptimuman khusus platform.
Atas ialah kandungan terperinci Apakah Huruf Berbilang Aksara dalam C dan C dan Adakah Ia Dianggap Gaya Buruk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!