本来我想写这样的代码:

class MatchManager{
public:
MatchManager()
{
} class OnTimerRunFuncHelper{
public:
OnTimerRunFuncHelper(const int setTimer) :n_ConfigTimer(setTimer){
n_Timer = ;
}
//返回true 则计时器到了 可以进行你的函数了
bool OnTimerCheck(){
n_Timer++;
if (n_Timer == n_ConfigTimer){
n_Timer = ;
return true;
}
return false;
}
public:
const int n_ConfigTimer;//配置最大计时器
int n_Timer;//计时器
int GetTimerCount(){ return n_Timer; }
int GetConfigTimerCount(){ return n_ConfigTimer; }
}; OnTimerRunFuncHelper t_checkEliminateTimer(); };

但是C++编译器(vs2013)提示:

error C2059: 语法错误:“常量”

然后我查了一下,居然代码要这么写:

class MatchManager{
public:
MatchManager() :t_checkEliminateTimer()
{
} class OnTimerRunFuncHelper{
public:
OnTimerRunFuncHelper(const int setTimer) :n_ConfigTimer(setTimer){
n_Timer = ;
}
//返回true 则计时器到了 可以进行你的函数了
bool OnTimerCheck(){
n_Timer++;
if (n_Timer == n_ConfigTimer){
n_Timer = ;
return true;
}
return false;
}
public:
const int n_ConfigTimer;//配置最大计时器
int n_Timer;//计时器
int GetTimerCount(){ return n_Timer; }
int GetConfigTimerCount(){ return n_ConfigTimer; }
}; OnTimerRunFuncHelper t_checkEliminateTimer/*(2)*/; };

类似的问题 还有比如 类静态成员变量的初始化,要在 cpp 文件 单独写一行,进行初始化。

我真是感觉C++ 误人子弟啊。Java 有些东西确实好,但是无法引用到C++中,就是因为这些 落后,但是却无人(主要是C++编译器厂商们、以及标准化组织)更改这些东西。

我真的希望有 C++的升级版 C++++ 能拥有Go语言 、java语言等的一些优点,并且兼容C++,但不被C++兼容。

蛋疼。

吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。的更多相关文章

  1. C++变量的默认初始化规则

    定义没有初始化式的变量时,系统有时候会帮我们初始化变量.系统如何初始化取决于变量的类型以及变量定义的位置. 内置类型变量是否自动初始化取决于变量定义的位置.函数体外定义的变量初始成0:函数体内定义的变 ...

  2. 从汇编看c++初始化列表初始化成员变量

    简略来说,编译器会对初始化列表按照成员变量的声明顺序重新一一排序,安插到构造函数中进行初始化操作,而且这些初始化操作在构造函数里面用户自己定义的任何代码之前. 下面是c++源码: class X { ...

  3. java中的static(包括类前面修饰的static、方法前面修饰的static、成员变量前面修饰的static)

    static是静态修饰符: 什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个 ...

  4. C++类中引用成员和常量成员的初始化(初始化列表)

    如果一个类是这样定义的: Class A { public: A(int pram1, int pram2, int pram3); privite: int a; int &b; const ...

  5. Java类的初始化顺序 (静态变量、静态初始化块、变量、初始...

    很有意思的一篇文章 1.没有继承 静态变量->静态初始化块->变量->变量初始化块->构造方法 2.有继承的情况 父类静态变量->父类静态初始化块->子类静态变量- ...

  6. 【C++】const,static和static const类型成员变量声明及其初始化

    1)const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间 void f1() { ; cout<<x<<endl; ...

  7. C++中类中常规变量、const、static、static const(const static)成员变量的声明和初始化

    C++类有几种类型的数据成员:普通类型.常量(const).静态(static).静态常量(static const).这里分别探讨以下他们在C++11之前和之后的初始化方式. c++11之前版本的初 ...

  8. C++ static、const和static const类型成员变量声明以及初始化

    C++ static.const和static const 以及它们的初始化 const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间. sta ...

  9. 【转载】C++ 与“类”有关的注意事项总结(十二):按成员初始化 与 按成员赋值

    原文:C++ 与"类"有关的注意事项总结(十二):按成员初始化 与 按成员赋值 一.按成员初始化(与构造函数和拷贝构造函数有关) 用一个类对象初始化另一个类对象,比如: Accou ...

随机推荐

  1. SMTP的相关命令

    SMTP是Simple Mail Transfer Protocol的简写. 邮件是日常工作.生活中不能缺少的一个工具,下面是邮件收发的流程. Image 邮件的发送,主要是通过SMTP协议来实现的. ...

  2. zlog使用

    1.使用buildroot编译zlog,在工具链的系统根目录下会生成动态库和静态库,还添加了头文件. 2.把动态库拷贝到开发板文件系统(该文件系统可以不是由buildroot编译得到,而是板上自带的) ...

  3. su - root 报su: incorrect password的错误

    检查/bin/下面的文件的组属 和 sh 文件 的权限 是否有问题 例如:-rwxr-xr-x. 1 weblogic dba 34904 Jul 15  2011 /bin/su1   修改这个文件 ...

  4. 本地调试webapi

    1.新建iis站点,路径关联到代码站点下D:\work\易解科技\程序源码\YQJ\trunk\YQJOpenAPI\YQJOpenAPI 2.vs以管理员身份启动 3.附加到进程 w3wp.exe ...

  5. Xcode升级更新后,恢复cocoapods以及插件的方法

    今天将手机系统更新到iOS9.3了,在Xcode7.1上做真机调试,提示找不到适合的SDK,才知道必须要升级Xcode才行,于是升级Xcode到7.3. 升级之后遇到很多麻烦,cocoapods没有了 ...

  6. css3动画属性(transitions:property duration timing transition-delay)

    transitions:property duration timing-function; transitionst他有三个参数:1) property:属性设置,例如background,colo ...

  7. 12.我们不是在真空里谈软件工程, 软件要运行在硬件芯片上面, 下面看看一个计算机芯片的发展历史: http://perspectives.mvdirona.com/2014/09/august-21-2014-computer-history-museum-presentation/ http://mvdirona.com/jrh/TalksAndPapers/DileepBhandar

    电脑芯片的诞生和发展是20世纪最伟大的发明之一,芯片技术决定了计算机升级换代的速度,决定了计算机小型化实现的程度,决定了计算机智能化的程度,决定了计算机普及化的应用深度. 1971年11月15日,英特 ...

  8. MySQL Connector/J 6.x jdbc.properties 配置, mysql-connector-java-6.0.4.jar 异常

    今天学习SSM框架整合,完成Spring和mybatis这两大框架的整合做测试时候出来很多问题,主要来自于配置文件. 我这里重点说一下Mysql数据驱动配置. 配置pom.xml时候去网站 MySQL ...

  9. 不能运行,:framework not found SenTestingKit

    1. 真机调试,提示 ld: framework not found SenTestingKit $(DEVELOPER_LIBRARY_DIR)/Frameworks  

  10. python numpy 介绍

    NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object).ndarray(下文统一称之 ...