静态数据成员的初始值的指定
来源:互联网 发布:mysql乐观锁怎么实现 编辑:程序博客网 时间:2024/06/04 01:22
静态数据成员不属于类对象,而是全部类对象所共有,你可以的这么的理解:
静态数据成员独立于类的一个对象,它的定义(分配存储区域)不是定义类对象时进行的,而是独立进行的,
而类定义本身不分配存储区,只是引入一个类型名字(类类型),所以必需在类定义的外面定义它,这是才分配内存给静态数据成员
class A
{
public:
static int i;
};
int main()
{
cout << A::i;
return 0;
}
你这么写会发现i根本不存在
class A
{
public:
static int i;
};
int A::i =10;
int main()
{
cout << A::i;
return 0;
}
这样就可以了
至于初始值,
在类定义的时候指出和类外实际定义的时候
给出只能用一个,我上面的例程,是在实际定义的时候给初始值的
否则编译器怎么知道到底用哪个去初始化
类定义中的初始值的指定只是一个指定的过程,这个并不是一个数据成员定义,初始化的时候,只是说明以后的在定义的时候,用这里指出值的来进行初始化
在vc6 类定义中的static int i =0;赋成其它值会报个错
而在类外则可,是编译器相关么,是语法规则么
========================
解决:
能够使用指定初始值语法的需满足三个条件:
1。static
2。const
3。有序类型(可以比较大小,题解说“整型”,double也并不属于,int属于,个人认为enum,char之类也属于,看函数重载的参数转换中整型转换提到的类型,个人认为均属于)
class A
{
public:
static const int ci = 10;
};
const int A::ci ;
int main()
{
cout << A::ci ;
return 0 ;
}
这种才可以的,一般的static不能使用指定初始值语法
上述语法vc6暂时不支持
静态数据成员独立于类的一个对象,它的定义(分配存储区域)不是定义类对象时进行的,而是独立进行的,
而类定义本身不分配存储区,只是引入一个类型名字(类类型),所以必需在类定义的外面定义它,这是才分配内存给静态数据成员
class A
{
public:
static int i;
};
int main()
{
cout << A::i;
return 0;
}
你这么写会发现i根本不存在
class A
{
public:
static int i;
};
int A::i =10;
int main()
{
cout << A::i;
return 0;
}
这样就可以了
至于初始值,
在类定义的时候指出和类外实际定义的时候
给出只能用一个,我上面的例程,是在实际定义的时候给初始值的
否则编译器怎么知道到底用哪个去初始化
类定义中的初始值的指定只是一个指定的过程,这个并不是一个数据成员定义,初始化的时候,只是说明以后的在定义的时候,用这里指出值的来进行初始化
在vc6 类定义中的static int i =0;赋成其它值会报个错
而在类外则可,是编译器相关么,是语法规则么
========================
解决:
能够使用指定初始值语法的需满足三个条件:
1。static
2。const
3。有序类型(可以比较大小,题解说“整型”,double也并不属于,int属于,个人认为enum,char之类也属于,看函数重载的参数转换中整型转换提到的类型,个人认为均属于)
class A
{
public:
static const int ci = 10;
};
const int A::ci ;
int main()
{
cout << A::ci ;
return 0 ;
}
这种才可以的,一般的static不能使用指定初始值语法
上述语法vc6暂时不支持
- 静态数据成员的初始值的指定
- 《C++ primer》第五版 练习7.32 报错:“error C2797: 'Window_mgr::screens': 未执行成员初始值列表内的列表初始化或非静态数据成员初始值”
- C++ 关于“不允许使用数据成员初始值设定”的问题
- 静态成员(静态成员函数,静态数据成员)的特性
- C++的静态数据成员
- 静态数据成员的理解
- 静态数据成员的例题
- 类的静态数据成员
- 类的静态数据成员
- 静态数据成员的应用
- 类的静态数据成员
- 静态数据成员与非静态数据成员的区别
- LINQ to Entities 不支持指定的类型成员“ReviewRemainDays”。只支持初始值设定项、实体成员和实体导航属性
- 关于静态数据成员与静态成员函数的…
- 类的静态数据成员和静态成员函数浅析
- 类的静态数据成员和静态成员函数
- 类的静态成员函数和静态数据成员
- 类的静态成员函数和静态数据成员
- 一百个最有用的网站地址
- MAX_BONUS
- FORTRAN语言编译器---词法分析(C语言简易版)
- 复习java: I/O
- meta标签之详解
- 静态数据成员的初始值的指定
- 扩展类型带来的问题
- FireFox 的真正魅力:插件
- ASP.Net 2.0 - Master Pages
- VS2005中自定义自增主键数据表操作的快捷开发
- 为图像加入版权信息
- 使用C语言开发操作系统(1)
- iReport与JasperReport中文支持全面解决
- VC入门的一条路