VS2010 と VS2012 のヘッダー ファイル バージョンでは、スマート ポインター (shared_ptr、unique_ptr、weakptr) の宣言に違いがあるようです。
私が理解している限り、たとえば、shared_ptr は (C++11 を介して) std 名前空間の一部になりました。互換性の問題のために、それはまだtr1 名前空間の一部ですか? もしそうなら、これはどのように達成されますか?
ありがとうございました
VS2010 と VS2012 のヘッダー ファイル バージョンでは、スマート ポインター (shared_ptr、unique_ptr、weakptr) の宣言に違いがあるようです。
私が理解している限り、たとえば、shared_ptr は (C++11 を介して) std 名前空間の一部になりました。互換性の問題のために、それはまだtr1 名前空間の一部ですか? もしそうなら、これはどのように達成されますか?
ありがとうございました
ヘッダーで、名前空間<memory>
を次のように定義しました。tr1
namespace tr1 { // TR1 additions
using _STD allocate_shared;
using _STD bad_weak_ptr;
using _STD const_pointer_cast;
using _STD dynamic_pointer_cast;
using _STD enable_shared_from_this;
using _STD get_deleter;
using _STD make_shared;
using _STD shared_ptr;
using _STD static_pointer_cast;
using _STD swap;
using _STD weak_ptr;
} // namespace tr1
_STD
yvals.h で次のように定義されています。
#if defined(__cplusplus)
#define _STD_BEGIN namespace std {
#define _STD_END }
#define _STD ::std::