だからあなたが書くことができます直接割り当てを許可するshared_ptrません。なぜ<code>shared_ptr<Type></code>を使用しているとき
shared_ptr<Type> var(new Type());
を私は疑問に思う彼らは非常に単純で、より良い(IMO)を許可しなかった理由:
shared_ptr<Type> var = new Type();
代わりに、このような機能を実現するために、あなたは.reset()
を使用する必要があります。
shared_ptr<Type> var;
var.reset(new Type());
私が使用しています直接割り当て、すべてを可能にするスマートポインタが正常に動作しているOpenCVののPTRクラス
ポインタを取る 'std :: shared_ptr'のコンストラクタは'明示的に 'であり、ポインタを取る'演算子= 'がないためです。 – Jarod42
これは割り当てではありません。 – LogicStuff