In C werden Arrays standardmäßig per Referenz übergeben. Allerdings kann die Syntax dafür für einige Programmierer verwirrend sein.
Die Verwendung der Syntax:
void foo(double& *bar)
zum Übergeben eines Arrays als Referenz ist in C nicht zulässig. Verwenden Sie stattdessen diese Syntax:
void foo(double (&bar)[10]) { }
Dies verhindert potenzielle Fehler, indem die Array-Größe auf genau 10 beschränkt wird.
Um ein Array beliebiger Größe als Referenz zu übergeben, verwenden Sie eine Vorlagenfunktion, die erfasst die Größe zur Kompilierzeit:
template<typename T, size_t N> void foo(T (&bar)[N]) { // Size of bar is N }
Für eine bessere Lesbarkeit und Funktionalität des Codes sollten Sie die Verwendung von std::vector oder std::array anstelle von raw in Betracht ziehen Arrays.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Arrays in C korrekt als Referenz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!