博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++结构体中的静态变量
阅读量:6689 次
发布时间:2019-06-25

本文共 1240 字,大约阅读时间需要 4 分钟。

分享一个挺有意思的代码:

1 #include 
2 using namespace std; 3 4 struct Point { 5 static int cnt; 6 Point() { 7 ++cnt; 8 cout << "There is " << cnt << " item(s)." << endl; 9 }10 ~Point() {11 --cnt;12 cout << cnt << " item(s) remains." << endl;13 }14 } ;15 int Point::cnt;16 17 int main() {18 Point a, b;19 delete (new Point());20 Point c, d;21 return 0;22 }
View Code

java是可以直接在类中初始化的,不过C++的初始化要在结构体外完成,否则会在链接的时候发生找不到对象的错误。

1 #include 
2 using namespace std; 3 4 class TheOnlyInstance { 5 public: 6 static TheOnlyInstance *GetTheOnlyInstance(); 7 static int Parameter; 8 protected: 9 TheOnlyInstance() {}10 } ;11 12 //int TheOnlyInstance::Parameter = 2;13 14 TheOnlyInstance *TheOnlyInstance::GetTheOnlyInstance() {15 static TheOnlyInstance objTheonlyInstance;16 int Parameter = 1;17 return &objTheonlyInstance;18 }19 20 int main() {21 //cout << TheOnlyInstance::Parameter << endl;22 cout << TheOnlyInstance::GetTheOnlyInstance() << endl;23 cout << TheOnlyInstance::Parameter << endl;24 return 0;25 }
View Code

 

 

——Written by Lyon

转载于:https://www.cnblogs.com/LyonLys/p/20140611_Lyon.html

你可能感兴趣的文章
维护机房里的电脑要掌握哪些知识
查看>>
利用 VMware 技术构建超融合平台 第 1 部分
查看>>
ONOS系统架构之高可用实现方案的演进
查看>>
windows 2008 修改ilo密码
查看>>
Windows AD证书服务系列---证书的使用范围(3)
查看>>
ps、firewords在win78中无法直接拖入的问题解决方法
查看>>
android-------非常好的图片加载框架和缓存库(Picasso)
查看>>
Titanium, PhoneGap, Sencha Touch, jQuery Mobile – Clearing up confusion
查看>>
eclipse如何部署Web工程到tomcat中
查看>>
在CentOS7上安装JDK1.8
查看>>
搜索和网页排名的数学原理
查看>>
Xcode项目中同一个名称不同位置 简单修改
查看>>
java设计模式-建造者模式
查看>>
oracle笔记
查看>>
ContentProvider数据更新
查看>>
Java 关于Ajax的实例--验证用户名(四)
查看>>
入字节码 -- ASM 关键接口 MethodVisitor
查看>>
如何在Centos 6 X86_64安装RHEL EPEL知识库?
查看>>
spring-util命名空间
查看>>
微信小程序周报(第四期)
查看>>