c++ - 在cpp的静态函数中访问这个指针
问题描述
我有一个 cpp 类和其中定义的几个方法。其中一个静态方法需要调用同一个类的非静态方法。我不能使用“this”指针来执行此操作,因为不能使用静态函数“this”指针。
我需要以某种方式访问cpp中静态方法中指向同一类的指针...有人可以帮忙吗
解决方案
让静态函数获取类的引用参数。例子:
struct Foo {
void func() { }
static void static_func(Foo& obj)
{
obj.func();
}
};
用法:
Foo foo;
Foo::static_func(foo);
您可以改为使用Foo* obj
参数。在这种情况下,您显然需要传递一个指针 ( Foo::static_func(&foo);
)。
话虽如此,您的函数看起来不应该是静态的。使其成为非静态的。
推荐阅读
- ios - 在swift 4中通过短信推荐朋友
- java - 安装最新的 Eclipse 版本:NullPointerException
- c - 无法在嵌入式设备上分配内存
- django - 输入的字段未保存到模型
- image-processing - 从通过混合一堆图像创建的视频中提取帧正在改变帧的完整性
- java - 即使将文件放在指定的路径中,也找不到文件错误
- git - How to correct already "added to index" files in git?
- java - 喜欢,评论列表视图提要
- xcode - Xcode 10.1 调试器不适用于引入框架
- java - 通过 Xslt 将 xml 动态转换为 xml。?