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

问题描述

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

解决方法

decltype 说明符需要给出一个合法的表达式 - 您可以在实际代码中使用。因此,您可以创建一个实例并像这样调用该实例上的成员:

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...