Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Meluluskan Tatasusunan dengan Rujukan dengan Betul dalam C?

Bagaimanakah Saya Meluluskan Tatasusunan dengan Rujukan dengan Betul dalam C?

Linda Hamilton
Lepaskan: 2024-11-29 01:14:10
asal
781 orang telah melayarinya

How Do I Correctly Pass Arrays by Reference in C  ?

Melalui Tatasusunan melalui Rujukan dalam C

Dalam C , tatasusunan dihantar melalui rujukan secara lalai. Walau bagaimanapun, sintaks untuk berbuat demikian boleh mengelirukan bagi sesetengah pengaturcara.

Menggunakan sintaks:

void foo(double& *bar)
Salin selepas log masuk

untuk menghantar tatasusunan melalui rujukan tidak dibenarkan dalam C . Sebaliknya, gunakan sintaks ini:

void foo(double (&bar)[10])
{
}
Salin selepas log masuk

Ini menghalang kemungkinan ralat dengan mengehadkan saiz tatasusunan menjadi tepat 10.

Untuk menghantar tatasusunan saiz arbitrari melalui rujukan, gunakan fungsi templat yang menangkap saiz pada masa penyusunan:

template<typename T, size_t N>
void foo(T (&bar)[N])
{
    // Size of bar is N
}
Salin selepas log masuk

Untuk kebolehbacaan dan kefungsian kod yang lebih baik, pertimbangkan untuk menggunakan std::vector atau std::array bukannya tatasusunan mentah.

Atas ialah kandungan terperinci Bagaimanakah Saya Meluluskan Tatasusunan dengan Rujukan dengan Betul dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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