2013-03-05 5 views
2

Есть ли что-то вроде unique_ptr <> в Visual Studio 2008?Что такое замена unique_ptr для «visual studio 2008», нет 3-й библиотеки (например, boost)

Событие Visual Studio только заголовок также в порядке.

Я хочу эту функцию, но не хочу использовать 3-ю партийную библиотеку. Поскольку я пишу образец/учебный код.

Если нет, я должен будет использовать необработанный указатель напрямую, для упрощения. Хотя я чувствую себя некомфортно ....

+2

Почему вы не получаете VS2012 и использовать 'зЬй :: unique_ptr'? –

+1

Вы всегда можете посмотреть, как работает Boost, или как это делается в стандартной библиотеке для некоторого компилятора, и реализовать его самостоятельно. –

+0

Имеет ли VS2008 ссылки на C++ 11 rvalue? Вам понадобится их «эмулировать» unique_ptr – PlasmaHH

ответ

3

VS2008 не поддерживает ссылки на rvalue и, следовательно, не перемещает операции. unique_ptr поведение зависит от них, поэтому может не иметь точной замены в C++ 03. auto_ptr использует копию-Ctor, чтобы сделать то, что должен сделать движок-Ctor. Вы можете использовать их, но я бы рекомендовал против этого, потому что компилятор не может помочь вам найти нежелательные копии, как он делает с unique_ptr.

Также смотрите здесь: unique_ptr boost equivalent?

+0

Спасибо. Я знал auto_ptr, это действительно плохо. – Raymond