C++ 静态成员能用于某些场合,而普通成员不能
来源:互联网 发布:网易uu加速器mac 编辑:程序博客网 时间:2024/04/30 15:42
静态成员独立于任何对象。因此,在某些非静态数据成员可能非法的场合,静态成员却可以正常地使用。举个例子,静态数据成员可以是不完全类型。特别的,静态数据成员的类型可以就是它所属的类类型。而非静态数据成员则受到限制,只能声明它所属的指针或引用:
class Bar{
public:
//....
private:
static Bar mem1;//正确:静态成员可以是不完全类型
Bar *mem2;//正确
Bar mem3;//错误
};
另一个区别是,我们可以使用静态成员作为默认实参:
class Screen {
public:
Screen& clear(char = bkground);
private:
static const char bkground;
};
非静态数据成员不能作为默认实参,因为它的值本身属于对象的一部分,这么做的结果是无法真正提供一个对象以便从中获取成员的值,最终将引发错误。
0 0
- C++ 静态成员能用于某些场合,而普通成员不能
- 静态成员函数不能调用普通成员变量
- 普通成员函数调用静态成员数据
- 静态数据成员与普通数据成员
- 静态成员不能访问非静态成员
- 普通内部类静态成员
- C++: 静态成员函数不能访问非静态成员的道理
- 类的静态成员能用来干嘛
- C++_静态成员
- C++_静态成员
- C++_静态成员
- C++【静态成员】
- [C++] 静态成员函数
- C++-静态成员
- C++---静态成员
- c++--静态成员变量
- 普通函数,成员函数,静态成员函数与【指针】
- 静态成员变量与普通成员变量的区别
- SQL语句大全
- LeetCode Implement strStr()
- 线段树专题
- GPU:新手完全入门的知识
- I,P,B帧和PTS,DTS的关系
- C++ 静态成员能用于某些场合,而普通成员不能
- TopCoder SRM 650 Div2 Problem 500 - TaroFillingAStringDiv2 (DP)
- 01.关于sprite_kit
- 数学相关
- 三维旋转(根据转轴和角度)的公式。罗德里格旋转公式
- 安装srbac
- 天声人語 20150219
- Android的Surface、SurfaceView、SurfaceHolder、SurfaceHolder.Callback
- 日经春秋 20150219