指针是一种专门用来存储内存地址的数据类型。(他存储的不是具体的数据而是别人的地址)
常用做法是:创建一个变量,再把这个变量的地址赋值给一个指针,然后就可以用指针去访问这个变量的值。
事实上在C和C++中,我们完全可以在没有创建变量的情况下,为有关数据分配内存,也就是直接创建一个指针,并让她指向新分配的内存块。
int *pointer=new int;//int *pointer表示一个指向整型变量的指针,指针的名字叫做pointer,我们用new给他创建一个内存这个内存是什么类型呢?是int型。(整型的内存在现在的编译器一般是占用了4个字节的内存空间,那么这样定义的语句就是说声明一个指针变量,这个指针变量的名字叫做pointer,它指向一个整型的地址空间,用new给他创建出来,new事实上就是那个malloc这个函数的一个进化版本,都是差不多的只是对他进行了进一步的封装而已)
*pointer=110;//接着给这个指针,就是new出来的这块内存给他赋值,赋值为110
std::cout<<*pointer;//使用这个指针变量的值把他给打印出来
delete pointer;//最后删除这个指针,也就是释放了这一块new出来的内存。
//最后一步是非常必要和关键的,这是因为C和C++程序不会自动释放内存,程序中的每一个new操作都必须有一个与之对应的delete操作。
创建对象有两种写法,一种就是这里的如下,一种就是使用 new。