En ce qui concerne la discussion hereEffet secondaire/Volatile/Copie Constructeur/Destructeur
$ 3.7.1/2 - « Si un objet de la durée de stockage statique a l'initialisation ou un destructor avec des effets secondaires, il ne doit pas être éliminé même s'il semble être inutilisé, sauf qu'un objet de classe ou sa copie peut être éliminé comme spécifié au 12.8. "
12,8/15- "Lorsque certains critères sont remplis, une implémentation est autorisée à omettre la construction de copie d'un objet de classe, même si le constructeur de copie et/ou le destructeur de l'objet ont des effets secondaires. Est-ce le cas ci-dessus, des exemples spécifiques d'un cas, où même une lecture/écriture volatile peut également être optimisée (par exemple si un constructeur de copie a une lecture/écriture sur une variable volatile). Donc, la question est "est-ce qu'un constructeur de copie peut être élidé même si le constructeur de copie a une lecture/écriture d'une variable volatile?"
Quelle est la question ici? –
@Billy ONeal: un constructeur de copie peut-il être élidé même si le constructeur de copie a une lecture/écriture d'une variable volatile? – Chubsdad
@chubsdad: Oui, c'est possible. Les membres volatils d'une classe n'ont aucun sens de toute façon. 'volatile 'concerne l'accès à la mémoire matérielle. Il ne devrait jamais être utilisé pour autre chose. Déjà. Période. Ce n'est pas un outil multi-threading comme c'est en Java et C#. –