int static x与static int x的区别

changemychina 2011-03-18 04:11:16
# include <iostream.h>

class Point{

public:

void output()
{}
void static init()
{x=0;
y=0;}
private:
int static x;//static int x时就不能通过链接了,我知道类的静态成员变量应该在类的定义前初始化。
int static y;//但这样可以编译通过


};




void main ()
{ //Point pt;
//pt.output();
//pt.init();
Point::init();
// Point::output();
...全文
804 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Al_Ways 2011-03-19
  • 打赏
  • 举报
回复
感谢7楼提供的跳转~学习了
changemychina 2011-03-19
  • 打赏
  • 举报
回复
谢谢大家了,确实都可以通过编译
HayYoung 2011-03-19
  • 打赏
  • 举报
回复
习惯
static int x;
wei801516 2011-03-19
  • 打赏
  • 举报
回复
习惯性而已,没什么区别的!~
千杯不醉-sen 2011-03-19
  • 打赏
  • 举报
回复
static int x
pathuang68 2011-03-18
  • 打赏
  • 举报
回复
两者皆可。个人倾向用static int x这样的方式。
至于初始化,请参考:
特殊数据类型成员变量的初始化
zlzlzlsc 2011-03-18
  • 打赏
  • 举报
回复
两个形式都可以啊
yuanwang1986 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linuxbirdman 的回复:]
我这两种形式都没问题。。。。。vs2010。。。不晓得你。。。
[/Quote]

x,y都应该初始化
delphiwcdj 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hedy007 的回复:]

静态成员变量应该在类的定义前初始化
应该是在任何函数外初始化:int Point::x=0;
[/Quote]
++
更习惯第二种
pengzhixi 2011-03-18
  • 打赏
  • 举报
回复
两个形式都OK
hedy007 2011-03-18
  • 打赏
  • 举报
回复
静态成员变量应该在类的定义前初始化
应该是在任何函数外初始化:int Point::x=0;
LinuxBirdMan 2011-03-18
  • 打赏
  • 举报
回复
我这两种形式都没问题。。。。。vs2010。。。不晓得你。。。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧