Bonjour,
Je me permets d'intervenir dans ce topic car le bout de code ci-dessus m'interpelle.
Que doit-il se passer si on souhaite accéder à des valeurs de classes avant toute instanciation?
Manifestement on est obligé de faire une initialisation dans le constructeur mais encore faut-il qu'on ai déjà appelé ce constructeur avant d'accéder aux membres statiques, qui plus est si ils sont publiques (privés/protégés c'est le même débat si on passe par des méthodes de classes).
Je rencontre moi-même un cas de ce genre, sans extension pour l'instant mais j'y viendrai et je ne comprends pas pourquoi, par exemple, on ne peut pas écrire ça dans un cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 std::map<std::string, bool> DataPrimitive::_SPECFIELDS_WRITERULES = { {struct_::DataModel::FIELD_RECORD, false}, {struct_::DataModel::FIELD_VERSION, false}, {struct_::DataModel::FIELD_OBJID, false}, {struct_::DataModel::FIELD_SECOWNERID, true}, {struct_::DataModel::FIELD_CREATETIME, false}, {struct_::DataModel::FIELD_UPDATETIME, false}, {struct_::DataModel::FIELD_MAKETIME, true}, {struct_::DataModel::FIELD_REMOVETIME, true}, {struct_::DataModel::FIELD_COLLECINDEX, false} };
Partager