Perbezaan antara parameter rujukan nilai kiri dan kanan dalam C++ adalah seperti berikut: Rujukan nilai kiri (&) menghala ke objek sedia ada dan digunakan untuk mengubah suai keadaannya. Rujukan nilai sebelah kanan (&&) menghala ke objek sementara yang digunakan untuk mendapatkan atau menghantar datanya.
Perbezaan antara rujukan nilai sebelah kiri dan parameter rujukan nilai sebelah kanan dalam fungsi C++
Latar Belakang
Rujukan dalam C++ ialah alias untuk pembolehubah, yang membenarkan akses terus ke memori pembolehubah objek. Memahami perbezaan antara rujukan nilai sebelah kiri dan rujukan nilai sebelah kanan adalah penting untuk menggunakan rujukan C++ dengan berkesan.
Rujukan nilai sebelah kiri
Rujukan nilai sebelah kiri (&) digunakan sebagai jenis yang digunakan sebagai rujukan kepada objek sedia ada. Ia digunakan untuk mengubah suai keadaan objek asal.
Sintaks:
int& lvalue_ref = variable;
Rujukan nilai sebelah kanan
Rujukan nilai sebelah kanan (&&) Jenis yang digunakan sebagai rujukan kepada objek sementara (yang hanya wujud dalam ungkapan). Ia digunakan untuk mendapatkan data daripada objek sementara atau menghantarnya ke fungsi lain.
Sintaks:
int&& rvalue_ref = std::move(temporary_object);
Kes praktikal
Contoh 1: Tukar dua nombor
void swap(int& a, int& b) { int temp = a; a = b; b = temp; }
Dalam contoh ini, fungsi swap()</code-tangan>menerima parameter. Ini membenarkan pengubahsuaian langsung nilai asal <code>a
dan b
. swap()
函数接受两个左侧值引用作为参数。这允许直接修改 a
和 b
的原始值。
示例 2:将临时对象传递给函数
void print_value(int&& rvalue) { std::cout << "Value: " << rvalue << std::endl; } int main() { print_value(42); // Temporary object created and passed as rvalue reference return 0; }
在这个例子中,print_value()
Contoh 2: Menghantar objek sementara ke fungsirrreee
Dalam contoh ini, fungsiprint_value()
menerima rujukan nilai sebelah kanan sebagai parameter. Ini membolehkan nilai masuk dibaca terus daripada objek sementara (42). Atas ialah kandungan terperinci Perbezaan antara rujukan nilai sebelah kiri dan parameter rujukan nilai sebelah kanan fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!