Qraizer
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Вот поэтому я и предпочитаю (и всем советую) никогда не использовать using namespace std, а явно писать std:: везде, где это надо. Сразу видно - где стандартное, а где нет. Тогда рабочая гипотеза: если закоментарить ифы, то функция становится маленькой и простой, поэтому компилятор её инлайнит. Следовательно отсутствуют вызовы ParseElem() и, как следствие, передача параметров по значению - кто такой MSXML2::IXMLDOMNodePtr не знаю, возможно что и класс конструктором копии - а также разворачивается цикл. А маленькой она становится потому, что иначе она большая - ведь в каждом ифе string сравнивается с char*, длину которого ещё надо подсчитать. Замени их на static const string-и. Да и не факт, что ты извлекаешь все преимущества работы со string-ом в плане эффективного использования его потенциала производительности - не видно, что там за русскими комментами скрывается.
---------- Одни с годами умнеют, другие становятся старше. |
|