Moh*_*gal 1 c++ performance pointers
我有一个简单的问题,是否只使用指针而不是正常变量,无论是时间上还是内存上都会提高程序的效率?对于一个实例,如果我使用以下程序来交换两个整数.
#include<iostream>
#include<conio.h>
#include<new>
using namespace std;
int main()
{
int *a=new int;
int *b=new int;
int *c=new int;
cin>>(*a)>>(*b);
*c=*a;*a=*b;*b=*c;
cout<<"swapping";
cout<<*a<<*b;
getch();
}
Run Code Online (Sandbox Code Playgroud)
使用指向变量而不是变量的指针不太可能提高性能.尽可能以最清晰的方式编写代码,让编译器为您优化代码.如果有的话,使用指针可能会减慢速度,因为它会使编译器分析更加困难.
对于大型对象,值得保留指向对象的指针,而不是复制这些对象.也许这是你错误推断的真理的核心.