Некоторые из них также могут иметь версии некоторых функций как tr1, так и std. С немного другой семантикой!

ел бы использовать библиотеки TR1, которые поставляются с современными версиями GCC и MSVC, но есть небольшие различия: в GCC я должен сказать,

#include <tr1/memory>
std::tr1::shared_ptr<int> X;

в то время как в MSVC я должен сказать

#include <memory>
std::shared_ptr<int> X;

У меня есть два вопроса: 1) MSVC автоматически работает в режиме C ++ 0x (эквивалентно std = c ++ 0x в GCC), или он также работает в режиме C ++ 98/03 по умолчанию? 2) Как мне объединить пространства включений и имен? Я думал о макросе препроцессора типа "INCLUDE_TR1 (memory)" или о чем-то в этом роде.

Чтобы уточнить, я хочу использовать традиционный, стандартный C ++ 98/03;не C ++ 0x (иначе проблем не было бы).

Буду очень признателен за любые предложения!

Ответы на вопрос(1)

Ваш ответ на вопрос