Сообщение от Livanderiaamarum
|
Вот в чем вопрос, почему reference меняется на VALUE?
|
Важно запомнить, что
this в контексте функции определяется
caller'ом. И все, что определяется слева от
() является типом
Reference,
в противном случае null, а т.к. нет практического смысла возвращать
null подставляется
Window.
Исходя из вышесказанного выражение типа:
(foo.bar = foo.bar)(); не определяются как
Reference, именно по этому возращается Window (в
basic mode).
Сообщение от nerv_
|
Можно ссылку?
|
11.1.6 Оператор группировки
11.2 Левосторонние выражения
11.13.1 Простое присваивание ( = )
Сообщение от nerv_
|
Флэнаган предполагает, что строки передаются по ссылке, но сравниваются по значению.
|
Можно предположить, что прототип функции примерно такой:
template <class T> T GetValue(const T &value);
В этом случае, формально значение передается по ссылке.