Rumah > pembangunan bahagian belakang > C++ > Mengapa Perintah `cout

Mengapa Perintah `cout

Susan Sarandon
Lepaskan: 2024-12-25 15:39:18
asal
677 orang telah melayarinya

Why Does the Order of `cout

Perintah Penilaian Operator dalam Ungkapan Operator C

Dalam coretan kod yang diberikan:

myQueue.enqueue('a');
myQueue.enqueue('b');
cout << myQueue.dequeue() << myQueue.dequeue();
Salin selepas log masuk

dan

myQueue.enqueue('a');
myQueue.enqueue('b');
cout << myQueue.dequeue();
cout << myQueue.dequeue();
Salin selepas log masuk

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;
Salin selepas log masuk

dan

auto tmp1 = myQueue.dequeue();
cout << tmp1 << myQueue.dequeue();
Salin selepas log masuk

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!

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