答案:
在內建數據類型的情況下,效率沒有區別;
在自定義數據類型的情況下,++i效率更高!
分析:
(自定義數據類型的情況下)
++i返回對象的引用;
i++總是要創建一個臨時對象,在退出函數時還要銷毀它,而且返回臨時對象的值時還會調用其拷貝構造函數。
(重載這兩個運算符如下)
class MyInterger{
public:
long m_data;
public:
MyInterger(long data):m_data(data){}
MyInterger & operator++(){
cout<<"Integer::operator++() called!"<<endl;
m_data++;
return *this;
}
MyInterger operator++(int){
cout<<"Integer::operator++(int) called!"<<endl;
MyInterger tmp = *this;
m_data++;
return tmp;
}
};
int main()
{
MyInterger a = 1;
a++;
++a;
return 0;
}
新聞熱點
疑難解答
圖片精選