Comment puis-je créer le mondial, mutable singleton?

Quelle est la meilleure façon de créer et d'utiliser une structure avec une seule instanciation dans le système? Oui, c'est nécessaire, c'est de l'OpenGL sous-système et de faire plusieurs copies de ce et de le transmettre autour de partout serait ajouter de la confusion, plutôt que de la soulager.

Le singleton doit être aussi efficace que possible. Il ne semble pas possible de stocker un objet arbitraire sur la zone statique, car il contient un Vec avec un destructeur. La deuxième option consiste à stocker un (dangereux) pointeur sur la zone statique, pointant vers un segment de mémoire allouée singleton. Quelle est la plus commode et la plus sûre façon de le faire, tout en gardant la syntaxe laconique.

  • Avez-vous regardé comment la Rouille existante liaisons pour OpenGL gérer ce même problème?
  • Oui, c'est nécessaire, c'est de l'OpenGL sous-système et de faire plusieurs copies de ce et de le transmettre autour de partout serait ajouter de la confusion, plutôt que de la soulager. => ce n'est pas la définition du besoin, il est peut-être pratique (au premier abord), mais pas nécessaire.
  • Oui, vous avez un point. Bien que depuis OpenGL est une grosse machine de l'etat, de toute façon, je suis proche de certains il n'y aura pas un clone de nulle part, dont l'utilisation ne pourrait résulter en OpenGL erreurs.
InformationsquelleAutor stevenkucera | 2015-01-06