Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Сравнение объекта и его


Автор: Rickert 7.6.2008, 04:41
Допустим есть класс вектора aVector. работает цикл, довольно большой:
Код
while(tmpItem)
{
  if (tmpItem == aVector(0.0, 0.0, 0.0))
    break;

  tmpItem = tmpItem->next;
}
if (tmpItem)
{
  ...
}

Вопрос в том, хорошо ли это: постоянно сравнивать объект с его прототипом aVector(0.0, 0.0, 0.0)? Будет ли грамотнее и лучше создать где-то константный объект aVector comp(0.0, 0.0, 0.0) и сравнивать с ним?

Автор: Mayk 7.6.2008, 05:33
Ну возьми и замерь - выносит твой компилер создание aVector(0,0,0) за цикл или нет.
а ещё можно 
создать ф-цию а ля aVector::isZero которая бы возвращала true для нулевых векторов 
и радоваться жизнью

Автор: Rickert 7.6.2008, 07:46
Цитата(Mayk @  7.6.2008,  05:33 Найти цитируемый пост)
Ну возьми и замерь - выносит твой компилер создание aVector(0,0,0) за цикл или нет.

А как это проделать? smile

Автор: Mayk 7.6.2008, 08:00
Цитата(Rickert @  7.6.2008,  11:46 Найти цитируемый пост)
А как это проделать? smile 

man clock()
rtfm GetTickCount

Добавлено через 14 секунд
ну или асемблерный листинг изучи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)