2011-01-13 2 views
1

Я использую Xerces, и ссылки не очень понятны при использовании Initialize и Terminate.При вызове XMLPlatformUtils :: Initialize() на Xerces?

Ну, многие веб-сайты обычно сообщают вам: «Всегда ставьте свой код Xerces между этими двумя строками».

Но разве я всегда должен это делать? Или просто при разборе?

Спасибо

ответ

1

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

Очевидным местом их размещения является либо main, либо в одном объекте, либо в каком-либо объекте RAII, который находится в области видимости, в то время как используется Xerces.

+1

В C++ я бы использовал RAII для этого. Объект singleton не нужен, потому что он не будет иметь внешнего состояния. – frast

+0

@frast: хорошая точка, добавил к моему ответу. –

Смежные вопросы