Как кодировать Singleton Jon Skeet в C++?

Мы используем Drupal, который всегда опускает закрывающий тэг, и никогда не имел проблем из-за него.

, Так как это всегда работало на Drupal (и я знал от чтения руководства, это было дополнительным), я когда-то создал конфигурационный файл (который содержал только код PHP) без закрывающего тэга. По некоторым причинам это не работало, до (по настоянию коллеги) я добавил закрывающий тэг. Мы не пытались узнать причину в то время.

я всегда использовал закрывающий тэг в коде, который я пишу; это выглядит более симметричным, концептуально "закрывает" открывающий тэг, и я всегда стараюсь не оставить любой дополнительный пробел после закрывающего тэга.

14
задан AndersK 30 October 2009 в 08:56
поделиться

3 ответа

Этот метод был введен исследователем компьютерных наук из Мэрилендского университета Биллом Пью и уже давно используется в кругах Java. Я думаю, что здесь я вижу вариант C # оригинальной реализации Java Билла. Это не имеет смысла в контексте C ++, поскольку текущий стандарт C ++ не зависит от параллелизма. Вся идея основана на языковой гарантии того, что внутренний класс будет загружен только при первом использовании потокобезопасным способом. Это не относится к C ++. (См. Также эту запись в Википедии )

34
ответ дан 1 December 2019 в 06:39
поделиться

. Вы найдете отличное обсуждение того, как реализовать синглтон, а также поток- безопасности в C ++ в этой статье.

http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf

9
ответ дан 1 December 2019 в 06:39
поделиться

Насколько мне известно, наследуемое поведение Singleton невозможно в C ++ или Java (или, по крайней мере, этого не было в более ранних версиях JDK). Это особый трюк C #. Ваши подклассы должны будут явно реализовать протокол.

1
ответ дан 1 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: