什么是c++中的原始指针?它们与普通指针的区别
what is raw pointer in c++? How they differ from normal pointer?
对于原始指针有什么特殊的含义吗?
正常指针变量和原始指针是相同的吗?
原始指针与普通指针完全相同,它们可以这样写:
type * pointer_name = & variable_name;
从c++ 11开始,我们有了一些特殊的指针,称为"智能指针"。它们被称为"聪明",因为它们知道何时必须删除已使用的内存。当程序中没有其他程序使用该内存块时,它们会执行此操作。c++ 11中有3种类型的智能指针:
unique_ptr<typename> pointer_name;
weak_ptr<typename> pointer_name;
shared_ptr<typename> pointer_name;
你可以在这里阅读更多关于使用这些类型的指针的信息
对,raw指针就是普通指针。
根据您对"正常"指针的定义,原始指针的写法如下:
int* rawptr;
对于c++11,我建议尽可能避免使用它。使用std::unique_ptr代替。
相关文章:
- 在 const 函数中通过引用和指针返回之间的区别
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 在 Rust 中,指针和引用有什么区别?
- 在以下声明中使用指针有什么区别?
- C++指针中的这两种类型的值分配有什么区别?
- 按值和引用传递指针之间的区别?
- printf() 和 std::cout 在指针方面的区别
- *++*++ppp,*++pp[1],*++(*(1+ppp)有什么具体的区别吗?(C/C++指针问题)
- 'new'和'='与指针的区别
- 使用指针向量和非指针向量有什么区别
- 函数指针和传递指针之间的区别
- C 中的通用指针和 C++ 中的通用指针有什么区别?
- 直接为浮点变量分配十六进制整数与通过指针转换分配之间的区别
- Fortran 中的指针和C++有什么区别
- 带"new"的指针和带"&variable"的指针有什么区别
- 指针声明和间接寻址之间的区别
- 在矢量的尖括号内使用指针符号与在外部使用指针符号有什么区别
- 在C++中,a+i 和 &a[i] 在指针算术方面有什么区别?
- ->运算符和指针 * 之间的区别 (C++)
- 当返回一系列字符或指针到char文字时的区别