C++让类函数传递对类本身的引用
C++ Have class function pass reference to class itself?
基本上,我有一个class World
,它包含了与我的游戏状态相关的所有数据。这个类具有类似getPlayerPosition()
和hasLeader()
的功能,它还可以访问游戏中每个可绘制对象的位置。
在world.update()
内部,我有一个运行中的FSM。我将省略细节,但本质上我有另一个对象,它有一个名为test(World& world, SceneNode& node)
的函数,它引用了世界,这样它就可以测试一些东西,比如某个节点与玩家的距离。我有很多这样的"条件"对象,它们做不同的事情,所以它们每个都需要访问世界的不同部分,这就是我在世界中通过的原因;。
但是world.update()
调用了这个测试函数!我能让世界通过一个自身的参考吗?在这个项目的另一个构建中,我认为我们试图通过(*this)
,但我们得到了SegFaults,我的合作伙伴认为这是因为(*this)
*这不会导致段故障。但是,如果test()
调用world.xxx()
函数,而xxx()
可能调用test()
,则会得到递归。如果是这种情况,则会导致堆栈溢出,并可能发生段故障。
相关文章:
- 启动类函数作为失去引用的线程
- 当有右值构造函数可用时,为什么从右值调用类引用构造函数重载?
- 如何在C++中引用类结构中的函数?
- 不能引用类继承默认构造函数
- Python在不引用类名的情况下调用类函数
- C++通过 const 引用传递时不调用派生类函数
- 通过引用常量函数调用另一个类的非常量函数
- 如何在map::find()函数中引用类元素?
- 如何指向引用类的函数
- 引用类的成员函数的正确方法是什么?
- 未定义的引用;类公共函数在链接时不可访问
- 用非限定名称引用类函数
- c++向类成员发送引用fstream函数问题
- C++让类函数传递对类本身的引用
- 派生类函数参数作为基类引用导致C2678
- 当我尝试编译时对类::函数的未定义引用
- 通过类函数返回引用,并在c++中返回整个对象
- 对Arduino C++中类函数的未定义引用
- 在C++中创建一个具有引用调用返回值的类函数
- C++对类函数的未定义引用