Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Возвращение ссылки на локальный объект - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему работает и так, и так: arr[i] и i[arr]? http://www.cyberforum.ru/cpp/thread574599.html
//один и тот же результат cout<<arr; cout<<i;//почему нет ошибки да даже это, например работает и выводит одинаковый результат // arrh.cpp: определяет точку входа для консольного приложения....
C++ К какому типу грамматики относится грамматика C++? Доброго времени суток. Пишу курсовую на тему "Компиляторы". Была дана задача реализовать 2 парсера, которые будут проверять оформление сорцов на шарпе и плюсах. В качестве генератора использовал... http://www.cyberforum.ru/cpp/thread574020.html
Считывание пикселей в игре C++
Всем добрый день. Загорелся идеей сделать следущее: программу, которая в популярной игре CS 1.6 будет сканировать игровую область и при обнаружении в этой области моделек противника (или его головы)...
C++ Перемножения матриц с OpenMP дольше чем...
Здравствуйте! Написал 2 программы перемножения матриц, одну с использованием OpenMP, другую - просто. 2 матрицы 1000х1000 с использованием OpenMP высчитываются дольше. Процессор Intel Atom N570,...
C++ Посоветуйте книгу по разработке OLE DB и ODBC провайдеров. http://www.cyberforum.ru/cpp/thread558169.html
Уважаемые коллеги. Не знаю в какой раздел написать. Думаю, что это ближе к C++. Посоветуйте что почитать по разработке OLE DB и ODBC провайдеров. Пока нашел на амазоне "OLE DB and ODBC...
C++ C++ prog как cgi-скрипт, от чего иная инфа? Здравствуйте. Я новичок на форуме, не ругайте если что-то где-то не то разместил или не понятно рассказал. Описываю проблемы-вопрос 0) Использую Slackware 13.37 и встроенные методики 1) есть... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18030 / 6262 / 427
Регистрация: 30.03.2009
Сообщений: 17,207
Записей в блоге: 27
15.05.2012, 08:43
Цитата Сообщение от Bers Посмотреть сообщение
В третий раз задаю этот вопрос: для чего может быть нужно возвращать ссылку на локальный или временный объект?
Более, чем уверен, что проблема растёт отсюда:

C++
1
2
3
4
5
int& func()
{
  int x;
  return x;
}
Данный код является логически некорректным. Ты хочешь, чтобы стандарт его запретил, потому что компилятор без каких бы то ни было анализов может сразу же выдать ошибку. Тогда возникает другая проблема. Перепишем немного исходный код:

C++
1
2
3
4
5
6
int& func()
{
  int x;
  int &y = x;
  return y;
}
Код делает то же самое, но компилятор уже не может что-то запрещать, потому что нужно выполнить анализ. В итоге из-за желаемого тобой запрета вышла бы несимметрия: вот так нельзя, но если сделать те же яйца, но в профиль, то можно. Авторы посчитали, что логичным поведением будет одинаковое поведение компилятора в одинаковых ситуациях

Добавлено через 1 минуту
Тут было много споров про "статические" переменные. В статье http://www.cyberforum.ru/blogs/18334/blog103.html в разделе 2 я описывал терминологию, упомянул и понятие "статический". Это полезно знать с той точки зрения, что разные авторы под словом "статический" могут подразумевать разные вещи
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru