【发布时间】:2013-06-29 08:43:53
【问题描述】:
我对 c++11 指针有疑问。具体来说,如何将基类的唯一指针转为派生类?
class Base
{
public:
int foo;
}
class Derived : public Base
{
public:
int bar;
}
...
std::unique_ptr<Base> basePointer(new Derived);
// now, how do I access the bar member?
这应该是可能的,但我不知道怎么做。每次我尝试使用
basePointer.get()
我最终导致可执行文件崩溃。
提前致谢,如有任何建议,我们将不胜感激。
【问题讨论】:
-
您能否展示一个完整的(但最少的)导致您的进程崩溃的代码示例?
basePointer.get()单独当然不是问题。 -
@jogojapan 我解决了我的问题。我正在用至少 5 组括号进行一些非常奇怪的转换。我很确定这只是一些愚蠢的事情,但我已经改变了它,不记得我做了什么。不过,Obvlious 船长的回答对我有用。感谢您的所有帮助!