gpt4 book ai didi

c++ - 如何将 sizeof() 运算符应用于非静态类成员方法?

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:37 24 4
gpt4 key购买 nike

struct MyClass {
int foo () { return 0; }
};

unsigned int size = sizeof(MyClass::foo); // obviously error

我们能否将 sizeof() 应用于 的成员方法?我们需要声明对象才能获取它吗?

编辑:我知道上面的代码会出错(这就是为什么使用“显然”这个词)。想知道我们是否可以将 sizeof() 应用于成员方法。我不想详细描述它的用例。

最佳答案

您无法获取成员函数的大小,但您可以获得指向成员函数的指针的大小:

int size = sizeof( &MyClass::foo );

非成员函数(和静态成员函数)也是一样,无法获取函数的大小。这可能会产生误导,因为在大多数情况下,函数的名称​​衰减 自动转换为指向函数的指针,基本上与数组衰减 到指向函数的指针的方式相同第一个元素,但与数组的情况一样,sizeof 不会触发衰减,这反过来意味着您必须显式询问指针。

关于c++ - 如何将 sizeof() 运算符应用于非静态类成员方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6812623/

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