Ich lese C++ FAQs. In Kapitel 16, Verwenden von Static, heißt es:
"Ein const static Datenmitglied wird in der Klasse deklariert und wird normalerweise in einer Quelldatei, wie z.B. einer .cpp-Datei, definiert (und initialisiert). Aber in einigen Fällen kann es auch im Körper der Klasse initialisiert werden."
und geht dann darauf ein, wo ganze und nicht ganze Typen deklariert werden können (obwohl ich denke, dass sich dies für ganze Zahlen in C++11 geändert hat).
Meine Frage ist, gilt das obige nur für const static Datenmitglieder und nicht für nicht-const static Datenmitglieder?
Ich fange langsam an, wirklich verwirrt zu werden und sehe nicht, warum es diese Beschränkungen gibt? Gibt es diese Regeln auch für volatile, mutable und andere Schlüsselwortvariablen? Wie kann jemand dies leicht lernen (außer es ununterbrochen zu programmieren)?