Rumah >pembangunan bahagian belakang >C++ >Mengapa Perintah `cout
Perintah Penilaian Operator dalam Ungkapan Operator C
Dalam coretan kod yang diberikan:
myQueue.enqueue('a'); myQueue.enqueue('b'); cout << myQueue.dequeue() << myQueue.dequeue();
dan
myQueue.enqueue('a'); myQueue.enqueue('b'); cout << myQueue.dequeue(); cout << myQueue.dequeue();
Penyusunan penyata cetakan mungkin kelihatan tidak dijangka. Walau bagaimanapun, memahami susunan penilaian << operator menjelaskan tingkah laku ini.
The << operator tidak mempunyai perintah penilaian yang ditentukan untuk hujahnya. Ini bermakna pengkompil bebas untuk menilai mereka dalam sebarang urutan. Walau bagaimanapun, ia menjamin bahawa hujah kedua (yang di sebelah kanan <<) dinilai selepas yang pertama.
Dalam coretan kod pertama, susunan penilaian tidak penting kerana kedua-dua dequee () panggilan mendapatkan semula elemen berbeza daripada baris gilir. Walau bagaimanapun, dalam coretan kedua, susunan adalah penting.
Pengkompil boleh menilai kod dalam pelbagai susunan, termasuk:
auto tmp1 = myQueue.dequeue(); auto tmp2 = myQueue.dequeue(); cout << tmp1 << tmp2;
dan
auto tmp1 = myQueue.dequeue(); cout << tmp1 << myQueue.dequeue();
The pesanan pertama akan mengeluarkan "ab", manakala output kedua "ba". Output khusus bergantung pada susunan penilaian yang dipilih oleh pengkompil.
Tingkah laku ini menekankan kepentingan memahami susunan penilaian pengendali semasa menulis kod C, terutamanya apabila berurusan dengan pengendali yang mempunyai susunan penilaian yang tidak ditentukan atau tidak berjujukan.
Atas ialah kandungan terperinci Mengapa Perintah `cout. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!