@little_Progger
Nein. Falsch.
3.1 Declarations and definitions
A declaration (clause 7) introduces names into a translation unit or redeclares names introduced by previous
declarations. A declaration specifies the interpretation and attributes of these names.
A declaration is a definition unless it declares a function without specifying the function’s body (8.4), it
contains the extern specifier (7.1.1) or a linkage-specification24) (7.5) and neither an initializer nor a
function-body, it declares a static data member in a class declaration (9.4), it is a class name declaration
(9.1), or it is a typedef declaration (7.1.3), a using-declaration (7.3.3), or a using-directive (7.3.4).
Das was du meinst ist ebenfalls eine Definition, aber es ist noch viel mehr.
Und nochmal nein. Ich meine nicht Befehl sondern (englisch) statement. Und das ist ein grosser Unterschied.
Du schiebst in das Wort Befehl jetzt schon bereits (eine nicht vollständige Version von)
definitions und
statements, welche recht unterschiedlich sind.
Eine Definition bedingt ein Semikolon. Ein statement allerdings nicht.
|
C-/C++-Quelltext
|
1
2
|
class foo
{};// Definition, also muss da ein Semikolon hin und wie du bemerkst wird hier auch keine Variable angelegt.
|
|
C-/C++-Quelltext
|
1
|
while(1){} // Eine Anweisung (statement), die kein Semikolon braucht
|
Ich wollte dich keineswegs blossstellen, sondern nur sagen, dass du mit solchen Aussagen vorsichtig sein musst. Niemand weiss, was du unter gewissen Begriffen verstehst und wie du jetzt hoffentlich siehst kann es zu Verwirrung führen, wenn du nicht die korrekte Nomenklatur verwendest (auch wenn natürlich alleine schon die deutschen Übersetzungen gefährlich sein können).