什么是c ++中的原始指针?它们与普通指针的区别如何?

时间:2014-03-13 07:08:05

标签: c++ pointers

原始指针有什么特殊含义吗?

普通指针变量和原始指针是否相同?

3 个答案:

答案 0 :(得分:4)

原始指针与普通指针完全相同,它们可以这样写:

type * pointer_name = & variable_name;

从C ++ 11开始,我们有一些特殊的指针,叫做#34;智能指针"。他们被称为" smart"因为他们知道什么时候必须删除用过的内存。当程序中没有其他内容使用该内存块时,它们会执行此操作。 C ++ 11中有3种类型的智能指针:

unique_ptr<typename> pointer_name;
weak_ptr<typename> pointer_name;
shared_ptr<typename> pointer_name;

您可以阅读有关使用这些类型的指针here的更多信息。

答案 1 :(得分:2)

是的,原始指针是普通指针。

答案 2 :(得分:1)

取决于您正在符合条件的&#34;正常&#34;指针,原始指针是这样写的:

int* rawptr;

使用c ++ 11,我建议尽可能避免使用它。请改用std :: unique_ptr。