我正在阅读Modern C++设计。关于作业人员的大小,如下所述被记载。以下段落从泛型编程的角度进行了解释。关于C++中sizeof运算符的功能
sizeof有一个惊人的功能:无论多么复杂,您都可以将sizeof应用于任何表达式,并且sizeof返回其大小,而无需在运行时实际评估该表达式。这意味着sizeof意识到重载,模板实例化,转换规则 - 所有可以参与C++表达式的东西。实际上,sizeof隐藏了推导表达式类型的完整工具;最终,sizeof抛出表达式并仅返回其结果的大小。
我的问题是作者是什么意思sizeof返回其大小与实际评估在运行时的展望。并且在最后一行中提到sizeof抛出表达式。请求帮助理解这些陈述,如果它是用示例完成的话,那将是很好的。
由于
想想表达式中的“i ++”或函数/方法调用; 'sizeof'显然不会执行那些跟踪类型的报告结果的大小。我从来不知道C++'sizeof'太强大了:)谢谢! – sarnold 2011-02-26 11:08:15
这篇文章可能会帮助你http://stackoverflow.com/questions/671790/how-does-sizeofarray-work – 2011-02-26 11:12:33
我想这就是为什么'decltype'是第一个C++ 0x可用,因为机制已经可用无论如何:) – 2011-02-26 12:45:43