In C können Funktionen mit Standardparametern deklariert werden, sodass sie aufgerufen werden können, ohne Werte für alle Argumente anzugeben. Die Syntax zur Angabe des Standardparameters kann jedoch variieren.
Fall 1:
<code class="cpp">int Add(int a, int b = 3); int Add(int a, int b);</code>
Fall 2:
<code class="cpp">int Add(int a, int b); int Add(int a, int b = 3);</code>
Beide Syntaxen sind gültig. Der standardmäßige und empfohlene Ansatz ist jedoch Fall 1, bei dem der Standardparameter in der Funktionsdeklaration angegeben wird. Dies liegt daran:
Stellen Sie sich das folgende Szenario vor:
In Fall 1:
Der Compiler sieht die Standardparameterdeklaration in der Header-Datei während der Kompilierung von test.cpp. Dadurch wird sichergestellt, dass der Aufruf der Funktion in test.cpp gültig ist, auch wenn der Standardparameter nicht explizit bereitgestellt wurde.
In Fall 2:
Der Compiler wird Während der Kompilierung von test.cpp wird die Standardparameterdeklaration in der Header-Datei nicht angezeigt, da sie nur in der Implementierungsdatei (lib.cpp) definiert ist. Dies führt zu einem Kompilierungsfehler in test.cpp, da der Standardparameter nicht deklariert wurde.
Daher ist die Angabe des Standardparameters in der Funktionsdeklaration (lib.h) die Standardmethode, um ein konsistentes Verhalten sicherzustellen verschiedene Kompilierungseinheiten.
Das obige ist der detaillierte Inhalt vonWo sollten Standardparameter in C definiert werden: Deklaration oder Definition?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!