СИНГЛТОНЫ
Да что за %&^18#*! На кой :?№* такие извращения? Почему незя нормально юзать глоб переменные в раздельной компиляции?
в общем, я взял с википедии такую штуку: template<typename T> class Singleton { public: static T& Instance() { static T theSingleInstance; // у класса T есть конструктор по умолчанию return theSingleInstance; } }; потом допустим юзаю так: class Render:public Singleton<Render> { public: void BlahBlahBlah(); }; но когда я пишу так: Render::Instance() ТО хренов MSVC++ ни фига не одобряет добавление '->' хотя по идее инстанс должен вовзращать указатель (разве нет?) если не сложно, накатайте кто-нибудь простейший пример юзанья синглтона, на геймдеве нашёл ссылку токо на жыыырный код. |
Ответ: СИНГЛТОНЫ
я тож новичек в си
но мне что подсказывает что указаетель это * static T* Instance() а асперсант это ссылка вроде) и соответсвенно Код:
static T* Instance() и вообще както не читабельно код офрмлен) и я не уверен что статик делает глобыльным? вроде extern, а статик внутри модуля |
Ответ: СИНГЛТОНЫ
вот довольно качественное решение :
1) в хидере где нужен доступ к синглтону пишем Код:
EXPORT_TYPE my_type * EXPORT_CALL GetMyType(); Код:
my_type * _self_my_type = NULL; в принципе CreateSingletonMyType можно и не выносить на обозрение ps. всё это делается через макросы |
Ответ: СИНГЛТОНЫ
Автор, метод instance() возвращает ссылку. Используй вместо стрелки (->) точку (.).
|
Ответ: СИНГЛТОНЫ
да, все уже разобрался :-D
слово "синглтон" испугало меня и не дало увидеть суть :-D |
Часовой пояс GMT +4, время: 09:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot