c/c++ dillerinde sayı++ ve ++sayı farkı

c/c++ dillerinde a++ ve ++a farkı.
Eğer class tasarımı yapıyorsanız büyük ihtimalle "operator overloading" yapıyorsunuzdur. "++" operatörü iki farklı kullanımı vardır;
1) sayi2=sayi++ derseniz önce atama işlemini yapar ve sonra sayi+1 işlemini yapar.
2) sayi2=++sayi derseniz önce sayi+1 işlemini yapar sonra atama işlemini yapar.

Aşağıdaki örnekte gördüğünüz üzere ++sayi daha az işlem gerektirdiğinden daha hızlı çalışır.

class Integer{
...
Integer & Integer::operator++() ;
Integer Integer::operator++(int) ;
...
};


Integer & Integer::operator++() { // ++sayi
++(*m_pInt);
return *this;
// TODO: insert return statement here
}

Integer Integer::operator++(int) { // sayi++
Integer temp(*this);
++(*m_pInt);
return temp;
}

Yorumlar

Popüler Yayınlar