Heim > Backend-Entwicklung > C++ > Verfügen integrierte Typen in C über Konstruktoren?

Verfügen integrierte Typen in C über Konstruktoren?

Susan Sarandon
Freigeben: 2024-12-08 06:57:10
Original
236 Leute haben es durchsucht

Do Built-In Types in C   Have Constructors?

Haben integrierte Typen Konstruktoren?

Wenn ein temporärer int-Wert mit 0 initialisiert wird, liegt das daran, dass int() aufgerufen wird der Standardkonstruktor? Dies ist ein häufiges Missverständnis, da integrierte Typen keine Konstruktoren haben.

Wertinitialisierung vs. Standardkonstruktor

Wertinitialisierung, ein relativ neues Konzept, initialisiert a temporäres Objekt mit einem für seinen Typ geeigneten Wert. Bei integrierten Typen ist dieser Wert 0 für Ganzzahlen.

Anweisung von TC PL

Abschnitt 10.4.2 von TC PL besagt, dass integrierte Typen auch über Standardwerte verfügen Konstrukteure. Allerdings ist diese Aussage im Zusammenhang mit C 98 und C 03 wohl falsch.

Klarstellung von Bjarne Stroustrup

Bei einer persönlichen Kontaktaufnahme stellte Bjarne Stroustrup klar, dass er gebaute- in Typen, die im konzeptionellen Sinne über Konstruktoren verfügen, obwohl es keine tatsächlichen Konstruktoraufrufe gibt. Diese Konzeptualisierung basiert auf ihrem konstruktorähnlichen Verhalten, beispielsweise der Initialisierung von Werten.

Fazit

Technisch gesehen haben integrierte Typen keine Konstruktoren. Die zu ihrer Initialisierung verwendete Syntax (z. B. int{5}, int{}) ist jedoch identisch mit der von Konstruktoren. Aus praktischen Gründen ist es daher sinnvoll, sich integrierte Typen so vorzustellen, dass sie über Standardkonstruktoren verfügen, die ihre Werte während der Wertinitialisierung entsprechend initialisieren.

Das obige ist der detaillierte Inhalt vonVerfügen integrierte Typen in C über Konstruktoren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage