Raspuns: Atunci cand este vorba de tipuri built-in (char, short, int, long) nu conteaza, dar in cazul tipurilor definite de utilizator este de preferat operatorul prefix, pentru ca evita crearea unui obiect temporar nenecesar. Motivul e ca operatorii ++ postfix mentin o copie temporara a obiectului initial, iar rezultatul e returnat prin valoare si nu prin referinta.
Code: Select all
class foo
{
public:
foo& operator++()
{
//efectueaza operatia de incrementare
return *this;
}
foo operator++(int)
{
foo temp = *this;
//efectueaza operatia de incrementare
return temp;
}
};
Code: Select all
for(int i = 0; i < 100; i++)
{
}
// sau
for(int i = 0; i < 100; ++i)
{
}
Code: Select all
std::vector<int> vec;
for(std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
{
}
Next FAQ >>