如何解决如何知道 C++ 中非静态方法的返回类型的实际类型和大小?
在 C++ 中,我们可以在函数的非静态数据成员上使用 sizeof
和 decltype
,但它们中的任何一个都不适用于非静态方法的返回类型,例如decltype(std::vector<int>::size())
,sizeof(std::vector<int>::size())
,有什么理由限制这个吗?还是有一些我没有发现的方法?
解决方法
decltype 说明符需要给出一个合法的表达式 - 您可以在实际代码中使用。因此,您可以创建一个实例并像这样调用该实例上的成员:
decltype(std::vector<int>().size())
sizeof 运算符也是如此。它需要接收一个合法的表达式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。