Initialisation en classe des membres de données statiques

En C++, static les membres ne peuvent pas être initialisées dans le corps de la classe avec les exceptions suivantes:

  • static membres de const type intégral peut être
  • static membres de constexpr type de littéral doit être

Pouvez-vous expliquer pourquoi ces exceptions?

Aussi, c'est:

Même si un const static membre de données est initialisée dans le corps de la classe, que membre ordinaire doit être défini en dehors de la définition de la classe.

Présent je n'ai jamais compris. Quel est le point à cette définition?

Juste essayer d'obtenir quelques intuitions ici.

source d'informationauteur 7cows