Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah C Mengendalikan Operator Tatasusunan Berbilang Argumen?

Bagaimanakah C Mengendalikan Operator Tatasusunan Berbilang Argumen?

Linda Hamilton
Lepaskan: 2024-11-19 11:12:02
asal
408 orang telah melayarinya

How Does C   Handle Multi-Argument Array Operators?

Pengendali Tatasusunan Berbilang Argumen dalam C ?

Dalam C , pengendali boleh dibebankan untuk menyediakan tingkah laku tersuai untuk pengendali terbina dalam seperti []. Walau bagaimanapun, sebelum C 23, melebihkan [] untuk menerima berbilang hujah adalah tidak mungkin.

Sokongan Terhad Sebelum C 23

Percubaan untuk mentakrifkan berbilang hujah [] operator akan mengakibatkan ralat pengkompil, seperti yang dilihat dalam kod contoh:

const T& operator[](const int i, const int j, const int k) const {
    return m_cells[k*m_resSqr+j*m_res+i];
}

T& operator[](const int i, const int j, const int k) {
    return m_cells[k*m_resSqr+j*m_res+i];
}
Salin selepas log masuk

Kod ini akan mencetuskan ralat:

error C2804 binary operator '[' has too many parameters
Salin selepas log masuk

Penyelesaian Sebelum C 23

Sebagai penyelesaian, seseorang boleh membebankan operator () sebaliknya:

T& operator()(const int i, const int j, const int k) {
    return m_cells[k*m_resSqr+j*m_res+i];
}
Salin selepas log masuk

Sokongan dalam C 23

Dari C 23, bahasa itu termasuk sokongan untuk operator berbilang hujah []. Akibatnya, kod yang ditunjukkan sebelum ini adalah sah dan akan membenarkan berbilang argumen subskrip dihantar terus kepada pengendali [].

Atas ialah kandungan terperinci Bagaimanakah C Mengendalikan Operator Tatasusunan Berbilang Argumen?. 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