#include using namespace std; class A { public: int get() const{return i;} void set(int x){i=x;} private: int i; }; int main() { const A*const p=new A; //p++; //p->set(11); p->get(); return 0; } 总结: 指针可以通过内存地址间接访问数据,每个变量都有自己的地址, 我们可以通过取址运算符&获得它们的地址。 它们的地址可以存储在指针变量中。 我们可以通过间接运算符(*)读取指针指向地址的值。 指针的类型由它们所指向的对象来定义, 指针未被初始化一个内存地址或刚删除一个指针都要将该指针赋为0。 否则的话将会导致该指针失控。 假如不想改变指针,那么将该指针定义为const,假如不想改变指针指向的值, 将指针指向的值定义为const,假如既不想改变指针也不想改变指针指向的值, 那么把指针和指针指向的值都定义为const。 用new在堆中可以创建一个对象,然后将内存地址赋给指针, 之后我们就可以通过该指针访问堆中的对象,假如要删除该对象, 我们只需要对指针使用关键字delete, 那么就会删除指针指向的对象并释放存储该对象的内存空间。 但是我们要注意一点,指针并没有被删除,并且它仍然指向原来的内存空间, 因此我们必须对它的内存地址清0或者重新赋值。