Имея
struct Person {
string name;
};
Person* p = ...
Предположим, что никакие операторы не перегружены.
Что более эффективно (если есть)?
(*p).name
vs. p->name
Где-то в задней части моей головы я слышу звон колоколов, что оператор разрыва *
может создать временную копию объекта; это правда?
В основе этого вопроса лежат такие случаи:
Person& Person::someFunction(){
...
return *this;
}
и я начал задаваться вопросом, изменит ли результат результат на Person*
, а последняя строка просто return this
будет иметь какое-то значение (в производительности)?