Re: Креш в синглтоне Мейерса
От: Sergipu  
Дата: 27.11.07 09:01
Оценка: -1
Здравствуйте, Станислав Артемкин, Вы писали:

СА>Всем привет,


СА>Возможно будет полезно. Следующая имплементация падает в релизной версии, скомпилированной MSVC++. Это дефект оптимизатора MSVC++.


СА>
СА>Foo.h
СА>----------
СА>class Foo
СА>{
СА>public:
СА>   static Foo& GetInstance()
СА>   {
СА>      static Foo instance;
СА>      return instance;
СА>   }
СА>};
СА>


На мой взгляд — ничего удивительного не происходит. Статическая ф-я GetInstance() инлайнится в 2 модуля компиляции вместе со своей статической переменной. 2 разные переменные — разные и значения. Другое дело, насколько такое поведение комилятора соответсвует стандарту... Мне кажется, что вполне, но если кто-то докажет обратное — буду благодарен за ценную инфу. )))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.