`
mybwu_com
  • 浏览: 177253 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

VC类中定义静态常量

 
阅读更多

在C++类中定义常量,有以下两种方法:
1.在类定义体内定义枚举常量;
例如:
class A
{
public:
enum
{
THREAD_NUM = 100,
MEM_BLOCK_SIZE = 1024,
PORT = 8080
};
};
这样定义出来的常量值在程序运行过程中是不能被修改的,编译的时候就已经确定了这些常量的值;

2.在类定义体中声明使用static const来修饰成员常量,然后在类定义体外对这些成员进行初始化;也就是说在类定义体内定义const类型的静态成员常量;
例如:
class A
{
public:
static const int THREAD_NUM;
static const int MEM_BLOCK_SIZE;
static const int PORT;
};

const int A::THREAD_NUM = 100;
const int A::MEM_BLOCK_SIZE = 1024;
const int A::PORT = 8080;

用这两种方式在类中定义的常量在程序运行过程中是不能被修改的;这两种方式也是模板特化和偏特化的基础;

分享到:
评论

相关推荐

    Lua-C 绑定库LuatinkerE.zip

    使用lua5.3的luaInterager来替代支持调用lua函数时返回多个返回值用tuple包裹支持通过宏定义打开类型一致性检查和常量类成员函数检查支持通过宏定义允许已注册的shared_ptr对象调用类成员函数支持类静态函数注册支持...

    自己写的dll的简介

    隐式调用必须提供DLL的头文件和引入库(可以看作轻量级的静态库(没有符号定义,但是说明了符号处于哪个DLL中))。 有了头文件和引入库,DLL的使用就跟普通静态库的使用没啥区别,只除了DLL要和EXE一起发布。 显示...

    Visual C++开发经验技巧宝典(第1章)

    0071 如何在常量函数中修改数据成员 30 1.9 STL模板库 30 0072 为什么在程序中广泛使用STL 30 0073 如何在STL中使用容器 30 0074 STL算法的优点 31 0075 如何设计和使用STL迭代器 31 0076 使用STL需要...

    C语言程序设计标准教程

    对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。 2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有...

    C++复习资料之系列

    在一个C++程序中,main函数的位置( c )。 (a) 必须在程序的开头 (b) 必须在程序的后面 ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) ...

    e语言-易语言支持库开发手册2013版

    资源介绍:手册编写: 吴涛 Liigo 云外归鸟 邓学彬 龚辟愚 王家元 官方手册: 00....去除库定义相关信息 05.VC6中的具体操作 06.静态支持库的发布 07.迷你版的CFreqMem类 资源界面:资源下载:

    C++编程思想(pdf格式)

    9.3.1 定义静态数据成员的存储 166 9.3.2 嵌套类和局部类 168 9.3.3 静态成员函数 169 9.4 静态初始化的依赖因素 171 9.5 转换连接指定 174 9.6 小结 174 9.7 练习 174 第10章 引用和拷贝构造函数 176 10.1 C++中的...

    易语言程序免安装版下载

     增加静态编译功能,支持挂接第三方链接器(比如VC6中的link.exe)。  静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理...

    c++ 面试题 总结

    private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的空间里有父类的所有变量(static除外) 同一个函数只存在一个实体(inline除外) 子类覆盖它的函数不加virtual ,也能实现多态。 在子类的...

    游戏编程指南 doc

    2.1 定义和使用类 28 2.2 类的构造函数 31 2.3 类的静态成员 32 2.4 运算符重载 33 2.5 类的继承 36 2.6 虚函数和抽象类 39 2.7 模板 40 2.8 优化程序 43 2.9 调试程序 44 第三章 容纳游戏的空间 46 3.1 ...

    PT80-NEAT开发指南v1.1

    窗口类 CNeatView 视图类 ................................................................................................................... 26 CNeatControl 类 ............................................

    开放式计算程序OpenFC

     在OpenFC中,用户也可以自定义窗口,用户在窗口中可以使用编辑框、静态文本、普通按钮、单选按钮、复选框、组框、位图等控件。用户自定义命令和用户自定义窗口改善了人机界面,强烈推荐使用。  用户可通过工作区...

    C#微软培训资料

    11.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ...

    游戏编程指南

    2.1 定义和使用类... 29 2.2 类的构造函数... 32 2.3 类的静态成员... 34 2.4 运算符重载... 35 2.5 类的继承... 38 2.6 虚函数和抽象类... 41 2.7 模板... 42 2.8 优化程序... 45 2.9 调试程序... 47 第三章 容纳...

    windows编程资料大全

    同理,MessageBox函数地址编译时,也是保存在.Import中,写过Win2k病毒的朋友都知道,所有常量与函数入口地址都需在代码段定义与得出,我们这里也与他有点类似。言归正传,同样情况我们也把函数的入口地址一起写入...

Global site tag (gtag.js) - Google Analytics