草庐IT

local-class

全部标签

c++ - 是否有任何类型的 "expression class"(C++)

我正在创建一个游戏,让玩家输入输入,改变一些状态,然后检查“目标值”是否为真(显然这个描述被大大简化了),我希望能够让那个目标值成为从玩家生命低于某个值到剩余敌人数量为零。是否有任何“表达式类”可以保存一个简单的“value1比较运算符value2”并检查它?即:expressiongoal(x=4);如果没有,是否有人对我如何开发表达式类有任何建议?编辑:另一个(更接近我想要实现的目标)示例:game.init(){expressiongoal=FileRead(goalfile);}game.checkstate(){if(goal)exit(1);}//exit1isthegam

c++ - 错误 C2228 : left of '.size' must have class/struct/union

我在调用vector的size()时遇到此编译器错误。为什么?#include#include#include#include#include#includeusingnamespacestd;classVertex{floatfirstValue;floatsecondValue;floatthirdValue;Vertex(floatfirst,floatsecond,floatthird){firstValue=first;secondValue=second;thirdValue=third;}};intmain(){cout>actualLine;istringstreama

c++ - 错误 C2228 : left of '.size' must have class/struct/union

我在调用vector的size()时遇到此编译器错误。为什么?#include#include#include#include#include#includeusingnamespacestd;classVertex{floatfirstValue;floatsecondValue;floatthirdValue;Vertex(floatfirst,floatsecond,floatthird){firstValue=first;secondValue=second;thirdValue=third;}};intmain(){cout>actualLine;istringstreama

c++ - “enum class”的递增和递减

众所周知,C++03中enum的递增和递减是非法的,因为C++03的enum可能不是连续的。但是C++11标准引入了新的enumclass构造,根据Wikipedia的说法,它更加类型安全,因为它不是建立在任何简单的可数类型上的。所以现在,如果我们有一个枚举值的有界列表,我们可以写类似enumclassColors{Black,Blue,White};//...Colorscolor=Colors::White;color++;它会正常工作吗(例如,增加White将返回Black并且减少Black将返回White)?如果我们不能编写这样的代码,您是否知道boost或Qt中的任何类似行为

c++ - “enum class”的递增和递减

众所周知,C++03中enum的递增和递减是非法的,因为C++03的enum可能不是连续的。但是C++11标准引入了新的enumclass构造,根据Wikipedia的说法,它更加类型安全,因为它不是建立在任何简单的可数类型上的。所以现在,如果我们有一个枚举值的有界列表,我们可以写类似enumclassColors{Black,Blue,White};//...Colorscolor=Colors::White;color++;它会正常工作吗(例如,增加White将返回Black并且减少Black将返回White)?如果我们不能编写这样的代码,您是否知道boost或Qt中的任何类似行为

c++ - 错误 : C2228: left of '' must have class/struct/union

我是一名长期使用Qt学习C++的Java用户,但我在理解方法的工作原理时遇到了很多麻烦。现在,我正在尝试找出数据库,并尝试使用标题来简化我的代码。通常在Java中,我只有一个名为DatabaseControl的类,它带有一个void方法,可以执行我想要的任何操作。例如,将员工添加到数据库中,就像我现在正在做的那样。我会通过做类似的事情来实例化这个类DatabaseControlmyDBControl=newDatabaseControl();然后执行该方法myDBControl.addEmploye();这会弹出一系列输入框,供用户输入员工的信息-姓名、部门等。那么,现在转到C++。我

c++ - 错误 : C2228: left of '' must have class/struct/union

我是一名长期使用Qt学习C++的Java用户,但我在理解方法的工作原理时遇到了很多麻烦。现在,我正在尝试找出数据库,并尝试使用标题来简化我的代码。通常在Java中,我只有一个名为DatabaseControl的类,它带有一个void方法,可以执行我想要的任何操作。例如,将员工添加到数据库中,就像我现在正在做的那样。我会通过做类似的事情来实例化这个类DatabaseControlmyDBControl=newDatabaseControl();然后执行该方法myDBControl.addEmploye();这会弹出一系列输入框,供用户输入员工的信息-姓名、部门等。那么,现在转到C++。我

c++ - `inline` 和 `template<class = void>` 之间有什么实际区别?

我们有2种方法可以在仅header库中声明函数。他们是inline和template.在boostsourcecode我可以看到这两种变体。示例如下:inlinevoidmy_header_only_function(void){//Dosomething...return;}templatevoidmy_header_only_function(void){//Dosomething...return;}我知道根据C++标准有什么区别。但是,任何C++编译器都不仅仅是标准的,而且标准也经常不清楚。在从不使用模板参数并且与递归可变参数模板无关的情况下,主流编译器的2个变体之间是否存在(

c++ - `inline` 和 `template<class = void>` 之间有什么实际区别?

我们有2种方法可以在仅header库中声明函数。他们是inline和template.在boostsourcecode我可以看到这两种变体。示例如下:inlinevoidmy_header_only_function(void){//Dosomething...return;}templatevoidmy_header_only_function(void){//Dosomething...return;}我知道根据C++标准有什么区别。但是,任何C++编译器都不仅仅是标准的,而且标准也经常不清楚。在从不使用模板参数并且与递归可变参数模板无关的情况下,主流编译器的2个变体之间是否存在(

c++ - 多个父类(super class)中的多重继承、C++ 和相同方法签名

我没有C++方面的经验,我来自Java背景。最近,我在一次采访中被问到为什么Java不允许多重继承,答案很简单。但是,我仍然对C++如何处理这个问题感到好奇,因为它允许您从多个类继承。具体来说,假设有一个名为MechanicalEngineer的类和另一个名为ElectricalEngineer的类。两者都有一个名为buildRobot()的方法。如果我们创建第三个类RoboticsEngineer会发生什么,它继承自两者并且不覆盖该方法,而您只需调用:(someinstanceofRoboticsEngineer).buildRobot()会抛出异常,还是会使用来自父类(superc