本来我想写这样的代码:

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. mfc中Button、Edit Control和MFC EditBrowse Control的用法

    [前(fei)言(hua)] 写LL(1)分析器被CString转string卡了一个多小时也是醉了. 趁着还算清醒写下这次用到的控件的使用方法好了. 这次实验的mfc用到了四个控件:Edit Con ...

  2. 统计学习方法笔记 Logistic regression

    logistic distribution 设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数: 式中,μ为位置参数,γ>0为形状参数. 密度函数是脉冲函数 分布函数是一条S ...

  3. [php-src]窥探Php内核中的变量

    内容均以php-5.6.14为例. 在看各种组合数据类型之前,有必要先熟悉下 Zend/zend_types.h 里面的自定义数据类型. #ifndef ZEND_TYPES_H // 防止多次 in ...

  4. 抓包工具Charles,anyproxy,mitmproxy等

    Charles:图形化界面,看着比较方便友好,也可以抓取https,不过电脑和手机都要下载证书,主要我的电脑上不能添加一添加就卡死 所以,抓取https的话,就用mitmproxy比较简单 1.安装C ...

  5. Spring JDBC 访问MSSQL

    在Spring中对底层的JDBC做了浅层的封装即JdbcTemplate,在访问数据库的DAO层完全可以使用JdbcTemplate完成任何数据访问的操作,接下来我们重点说说Spring JDBC对S ...

  6. 求教——使用node做表单,刷新浏览器页面,浏览器为什么会重复提交上次所填的信息

    最近在学些node,按照<nodejs实战>上的代码做练习,发现有表单重复提交的问题 第一次打开页面,显示如图是get请求 图1 现在我们提交aaa,显示如图,post请求 图2 刷新页面 ...

  7. Linux分区,并且把新的分区挂载到指定的文件夹

    本教程为在已使用的Linux系统中新加入一个硬盘. 1.fdisk –l 查看:看到新加入硬盘hdd 2.输入:fdisk /dev/hdd 3.键入m查看有哪些命令: 4.键入p查看一下硬盘hdd的 ...

  8. 【基础知识】.Net基础加强11天

    一. 扩展方法 1. 声明扩展方法的步骤: 1> 类必须是static,方法是static ,第一个参数是被扩展的对象,前面标注(this 数据类型参数名). 2> 使用扩展方法的时候必须 ...

  9. onFocus="this.blur()"的解释

    onFocus="this.blur()" onFocus即获取焦点的意思,而blur却是失去焦点的意思,因此onFocus="this.blur()"的通俗理 ...

  10. ibatis + log4net 配置注意事项

    一 在web.config或app.config中配置 <configuration> <configSections> <sectionGroup name=" ...