Dr.*_*eon 11 c c++ macos class clang
好的,这就是我想要的:
现在,我正在考虑以下场景:
Bitmap* myBitmap = newBitmap(1010);,并使用其内部方法对其进行操作(例如myBitmap->getFirstBitSet())现在,哪种方法最快?直接简单函数和类封装static函数之间是否真的有任何区别,性能方面呢?我还没有提到的任何其他情况更可取?
旁注:我正在使用clang++编译器,适用于Mac OS X 10.6.8.(如果这有任何区别)
Mat*_* M. 19
在CPU级别,只有一种功能,它非常重新组合C类.你可以自己制作,但......
事实证明,C++正在高效构建,将大多数函数直接映射到调用指令:
this在其他参数(一个指针)之上传递隐式参数所有这3个都具有完全相同的性能.
另一方面,virtual方法有轻微的开销.有一个关于性能的C++技术报告,估计与非虚拟方法相比,空函数的开销在10%到15%之间(来自内存).意味着对于内部有肉的任何功能(即,做实际工作),开销本身就接近于在噪音中迷失.除非virtual可以在编译时推断出调用,否则实际成本来自内联的禁止.