原始指针 raw pointer 非智能指针 smart pointer
指针是一个整数,一个数字,它存储一个内存地址。
创建指针:void* ptr = 0;
void指针表明不关心指针存储地址的数据类型。给该指针一个为0的内存地址,0其实不是一个有效的内存地址,没有办法读取或写入地址为0的内存。0无效意味着该指针无效。对指针来说,无效是可以接受的。指针为0也可以是NULL,# define NULL 0。C++中一个关键字叫做nullptr。
#include <iostream>
int main()
{
void* ptr = nullptr;//该指针完全没有类型,内存地址为0
std::cin.get();
}
程序中创建一个整数变量,该变量有一个内存地址,内存地址存储该变量。若要知道变量的存储地址,可以通过“&”运算符来实现。得到变量的存储地址存储在一个指针中。
#include <iostream>
int main()
{
int var = 8;
void* ptr = &var;//将变量var的内存地址作为指针赋给ptr变量
std::cin.get();
}
设置断点查看值
将ptr的值进行复制,然后调试-窗口-内存-内存1