派生型に対するを持っているshared_ptr
が、shared_ptr の型が基本型に対するものである場合、Visual Studio の [ローカル] ウィンドウには基本型のメンバーしか表示されません (まるでオブジェクトがスライスされたかのように)。
以下は、私が見ている問題を示す非常に小さなプログラムです。が作成された後にブレークポイントが設定され、変数が [ローカル] ウィンドウに表示されてshared_ptr
いる場合、変数は表示されません。sp
dvalue
これを見る方法はありますか?マネージ コードに甘やかされてしまったのかもしれません...
#include <memory>
struct Base {
int ivalue;
};
struct Derived : public Base {
double dvalue;
};
int main() {
Derived d;
d.ivalue = 42;
d.dvalue = 3.14;
auto sp = std::make_shared<Base>(d);
// break here
return 0;
}