Heim > Backend-Entwicklung > C++ > Wo sollten Standardparameter in C definiert werden: Deklaration oder Definition?

Wo sollten Standardparameter in C definiert werden: Deklaration oder Definition?

DDD
Freigeben: 2024-10-30 01:53:29
Original
836 Leute haben es durchsucht

Where should default parameters be defined in C  : declaration or definition?

Standardparameter in der Funktionsdefinition vs. Deklaration

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>
Nach dem Login kopieren

Fall 2:

<code class="cpp">int Add(int a, int b);
int Add(int a, int b = 3);</code>
Nach dem Login kopieren

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:

  • Eine Header-Datei (lib.h) deklariert die Funktion mit einer der beiden Syntaxen.
  • Eine separate Implementierungsdatei ( lib.cpp) definiert die Funktion mit dem Standardparameter.
  • Eine andere Quelldatei (test.cpp) enthält die Header-Datei und ruft die Funktion auf, ohne einen Wert für den Standardparameter anzugeben.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage