gpt4 book ai didi

c++ -::* 在 C++ 中是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 15:51:10 24 4
gpt4 key购买 nike

做什么

 private:
BOOL (LASreader::*read_simple)();

是什么意思?

它来自 LAStools,在 lasreader.hpp

BOOL 是一个 typedef bool(来自 mydefs.hpp ),但我不知道这一行在声明什么,特别是 ::*(双冒号星号),它看起来像一个函数调用。

最佳答案

这是一个pointer to member function .具体来说,read_simple 是一个指向类 LASreader 的成员函数的指针,它采用零参数并返回一个 BOOL

来自 cppreference 中的示例:

struct C {
void f(int n) { std::cout << n << '\n'; }
};
int main()
{
void (C::*p)(int) = &C::f; // p points at member f of class C
C c;
(c.*p)(1); // prints 1
C* cptr = &c;
(cptr->*p)(2); // prints 2
}

关于c++ -::* 在 C++ 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30767243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com