问题标签 [pbrt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用模板有什么好处比动态分配?
我正在阅读 pbrt,它定义了一个类型:
并且作者说:
“我们没有编写系统,以便可以在运行时解决使用哪个 Spectrum 实现的选择;要切换到不同的表示,必须重新编译整个系统。这种设计的一个优点是,许多不同的 Spectrum方法可以实现为可以由编译器内联的短函数,而不是作为必须通过相对较慢的虚拟方法调用机制调用的独立函数。内联这些常用的短函数可以带来实质性的改进在性能上。”
1.为什么模板可以内联功能而普通方式不能?
2.为什么普通方式必须使用虚拟方式?
整个头文件的链接: https ://github.com/mmp/pbrt-v3/blob/master/src/core/spectrum.h