吐槽C++:C++ 类成员变量初始化 之 初始化带有参数的构造函数 的类成员变量。
2023-09-14 08:59:54 时间
本来我想写这样的代码:
class MatchManager{ public: MatchManager() { } class OnTimerRunFuncHelper{ public: OnTimerRunFuncHelper(const int setTimer) :n_ConfigTimer(setTimer){ n_Timer = 0; } //返回true 则计时器到了 可以进行你的函数了 bool OnTimerCheck(){ n_Timer++; if (n_Timer == n_ConfigTimer){ n_Timer = 0; 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); };
但是C++编译器(vs2013)提示:
error C2059: 语法错误:“常量”
然后我查了一下,居然代码要这么写:
class MatchManager{ public: MatchManager() :t_checkEliminateTimer(2) { } class OnTimerRunFuncHelper{ public: OnTimerRunFuncHelper(const int setTimer) :n_ConfigTimer(setTimer){ n_Timer = 0; } //返回true 则计时器到了 可以进行你的函数了 bool OnTimerCheck(){ n_Timer++; if (n_Timer == n_ConfigTimer){ n_Timer = 0; 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++ Primer 变量和基本类型
- java与C++的区别
- C++ one more time
- var this.value 可在任意地方 声明 类成员变量。如果可以利用在C++ 那该有多好啊
- C语言/C++常见习题问答集锦(五十二) 之职工信息管理系统
- Open3D(C++) 体素下采样
- paip.c++ cli 命令行 调用总结
- C/C++ Qt 基础通用组件的应用
- 【华为OD机试 2023最新 】 无向图染色(C++)
- 解答私信@被c++折磨头秃的花季美少女 //C++ 利用指针数组输入10个单词,编写函数对10个单词进行排序并输出,要求判断是否有相同的单词,如果有相同的单词在输出时该单词只输出一次。
- 解答私信@被c++折磨头秃的花季美少女 //C++ 编写一个进阶版的进制转换程序,运行功能如下:请选择要输入的数字的进制(2、8、10、16):请输入该数字:请选择要转换成的进制(2、8。。。
- 解答私信@被c++折磨头秃的花季美少女 //C++ 写一个带命令行参数的程序,可以实现将参数求和、求平均值以及排序之后输出(参数的数量不确定)。
- C++多线程使用条件变量
- c++ 静态变量报错 undefined reference to static members
- c++ 纯虚成员函数+抽象基类
- C++引用入门教程(一)
- c++ 交换变量实践
- c++ static 静态变量初始化
- c++ 类中静态变量 static
- C++访问private变量(三十)
- C++中全局变量、函数与静态变量、函数的区别
- BDB c++例子,从源码编译到运行
- C++ 变量作用域
- C++ 变量类型
- 第十三届蓝桥杯省赛 C++ C 组 E 题、Python B组 D题、PythonC组 D 题—— 数位排序(AC)
- 【C++ 科学计算】矩阵变量类型总结
- 【C++提高】const_cast<>() 去除变量的只读属性
- C++——变量的生命周期
- pytorch 17 onnx多输入多输出模型在python与C++下用OnnxRuntime部署
- 学习C++:C++进阶(三)CMake基础篇---用cmake配置静态库、共享库、仅有头文件的库、对象库并使用这些库
- C++学习第五节:C和C++的区别第三节课
- 【C++要笑着学】STL stack&queue | 优先级队列 priority_queue | 双端队列 deque
- c++ 中关于int,unsigned int , short的关系与应用