Russian Qt Forum

Qt => Общие вопросы => Тема начата: Disa от Август 29, 2012, 11:28



Название: inline в Qt
Отправлено: Disa от Август 29, 2012, 11:28
То, что inline в плюсах рекомендуют не писать т.к. почти бесполезно, это я знаю.

Но! В том же QPoint.h есть

Код
C++ (Qt)
friend inline bool operator==(const QPoint &, const QPoint &);
friend inline bool operator!=(const QPoint &, const QPoint &);
friend inline const QPoint operator+(const QPoint &, const QPoint &);
... etc

Код
C++ (Qt)
inline QPoint &QPoint::operator+=(const QPoint &p)
{ xp+=p.xp; yp+=p.yp; return *this; }
 
inline QPoint &QPoint::operator-=(const QPoint &p)
{ xp-=p.xp; yp-=p.yp; return *this; }
... etc

Если я правильно понимаю, moc обрабатывает только макросы типа Q_OBJECT и прочее и этот код особо не сильно поменяется перед тем как отправиться к gcc или cl? Тогда зачем?


Название: Re: inline в Qt
Отправлено: mutineer от Август 29, 2012, 11:29
Ну ничего плохого же не случиться, если написать инлайн? Может им нравится так:)


Название: Re: inline в Qt
Отправлено: Igors от Август 29, 2012, 12:47
То, что inline в плюсах рекомендуют не писать т.к. почти бесполезно, это я знаю.
Что это за рекомендации такие? Из того что inline сейчас почти ничего не ускорит еще не следует что писать его плохо. Написав inline Вы ясно даете понять что ф-ционал - с гулькин нос и это удобно/выгодно. А нередко и весь класс можно сделать инлайновый и обойтись без cpp - цеплять легче