我如何知道 C++ 中非静态方法的 return 类型的实际类型和大小?

How do I know the actual type and size of the return type of a non-static method in C++?

在 C++ 中,我们可以在函数的非静态数据成员上使用 sizeofdecltype,但它们都不适用于非静态方法的 return类型,例如decltype(std::vector<int>::size())sizeof(std::vector<int>::size()),这有什么限制的原因吗?或者有一些方法我没有发现?

需要为 decltype 说明符提供一个合法的表达式 - 您可以在实际代码中使用的东西。所以你可以创建一个实例并调用该实例上的成员,如下所示:

decltype(std::vector<int>().size())

sizeof运算符也是一样。它需要接收一个合法的表达式。