为什么使用指针能让程序的内存开销小且运行速度快?

为什么使用指针能让程序的内存开销小且运行速度快?


桃花长相依
浏览 953回答 3
3回答

呼如林

依我看,主要体现在两点:1 仿制过分复制函数调用中传值,会占用大量堆栈空间,同时过多的拷贝函数调用会降低性能。例如有个类class A{int buffer[1000000];.....A(const A&)....A& operator=(const A&)....};void function(A a){A b;b = a;.......}上面的例子中,不但会占用大量堆栈空间,而且等号与拷贝函数都影响性能。2 动态生成内存很多对象可能一辈子都不用构造,用指针可以做到这点。如:class Render{void InitRender(){int iRender = CheckDevice(); //检查最佳配置switch(iRender){case d3d9:CreateD3D9Render(&pd9);break;}}IOpenGLRender* por;ID3D9Render* pd9;ID3D11Render* pd11;IGDIRender* pgr;};显然,你只需要一个Render,如果不用指针,一个Render可能耗掉你上百MB内存

慕尼黑5688855

1)越是怕指针,就越要使用指针。不会正确使用指针,肯定算不上是合格的程序员。(2)必须养成“使用调试器逐步跟踪程序”的习惯,只有这样才能发现问题的本质

猛跑小猪

指针只是一个整数值,在内存中代表着内存地址。就好比你要搬家,你只需要换地址就可以了,而不用把整个房子搬到新的地址上去。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

React.JS