CPP_const&static

const 1. 定义本地常量,替换宏。 #define LENGHTH 16 static const int LENGHTH = 16; 2. const出现在星号左边,表示被指物是常量;const出现在星号的右边,表示指针本身是常量。 const int *p = &a; p=&b; true *p = 1; error 这里const修饰的是int,而int定义的是一个整数值。因此×p所指向的对象值不能通过×p来修改,但是可以重新给p来赋值,使其指向不同的对象。 3. const成员函数,编译器确保该函数不会改动对象数据。 4. const成员变量,表示一旦初始化以后不会再改变的数据,必须在类的构造函数初始化列表中初始化,不能在函数体内赋值。 static 1. static成员变量,表示类公有的数据(可以是private成员),没有保存在对象内部,存在于rw数据段,类sizeof不包含static变量大小。 静态数据成员在类外分配空间和初始化,必须在main函数和类外定义static变量,int A::b = 2; static在C++中更好的替换全局变量或对象维护数量count(有类而非对象维护)设计的。 2. static成员函数,表示不依赖于对象的静态方法。可对象调用,也可直接类调用(A::goo()). static成员方法中参数不包含隐藏的this指针(this是一个对象的指针),不能使用指针。 static成员方法不可访问非static成员变量。

猜你喜欢

转载自www.cnblogs.com/embedded-linux/p/9612636.html