Изменение значения возвращаемого из функции |
Здравствуйте, гость ( Вход | Регистрация )
Изменение значения возвращаемого из функции |
Гость_Quester_* |
2.6.2017, 20:37
Сообщение
#1
|
Гости |
Добрый вечер, ребята! Объясните пожалуйста, как такое работает:
Из функции "getStr()" вернется временная переменная, скажите пожалуйста, разве можно изменять значение временной переменной? И насколько это корректно?? Спасибо!!! |
|
|
lanz |
4.6.2017, 1:26
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
"работает" это так Не совсем Вот так не скомпилируется:
мы же rvalue значение присваиваем, а это нельзя вроде? Это верно, но не совсем, т.к. возвращается объект класса std::string, то assignment превращается в вызов member function и prvalue превращается в xvalue. Называется temporary materialization. http://en.cppreference.com/w/cpp/language/...materialization Сообщение отредактировал lanz - 4.6.2017, 1:28 |
|
|
Текстовая версия | Сейчас: 27.4.2024, 16:50 |