|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.08.2020, 17:03 | #1 |
Пользователь
Регистрация: 26.07.2019
Сообщений: 10
|
Прямая и косвенная адресация в C++, как быстрее работает код с указателями?
Здравствуйте. Использование указателей на переменную выполняется быстрее, чем прямое обращение к переменной. Как я понял, при прямом обращении к переменной сначала происходит переход по адресу переменной, потом её копирование на новый адрес. При использовании указателя, сразу переходиш по адресу переменной. Правильно я понимаю?
Последний раз редактировалось bugs_bunny; 04.08.2020 в 15:30. Причина: Неправильный заголовок |
03.08.2020, 20:01 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Нет.
Указатель НА переменную, т.е. по факту это ДВЕ переменных, соответственно имеем две операции чтения против одной. Последний раз редактировалось waleri; 03.08.2020 в 20:03. |
03.08.2020, 21:47 | #3 |
Пользователь
Регистрация: 26.07.2019
Сообщений: 10
|
"waleri" - две операции, вместо одной. Почему? По указателю переходим на переменную - это одно действие. Переходим на ту же переменную, а не на её копию, как при передаче по значению. Указатель по определению указывает на variable, а не на её копию, как при передаче по значению.
|
03.08.2020, 22:43 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Нет такого действия "переход на переменную".
Получения адреса переменной из указателя - это одна операция. Чтение значения переменной - это еще одна операция. При работе с переменной напрямую первый шаг отсутствует. |
04.08.2020, 15:13 | #5 |
Пользователь
Регистрация: 26.07.2019
Сообщений: 10
|
Хорошо, "waleri", объясните, почему использование указателей уменьшает время выполнения программы.
|
04.08.2020, 17:21 | #6 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Чего проще - посмотреть код, который при этом генерируется, какие команды.
И вообще - речь идёт о ++ ? Может влиять включённый уровень оптимизации. |
04.08.2020, 19:59 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
|
05.08.2020, 09:43 | #8 | |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Цитата:
Т.е. я потратил своё время, переименовал, а вы вернули своего коротуна. Читайте правила форума, составляйте заголовки отражающие суть вопроса. |
|
05.08.2020, 13:09 | #9 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 960
|
Alar, "прямая и косвенная адресация в C++"
|
05.08.2020, 13:11 | #10 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
Алексей1153, вот так норм? )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Косвенная адресация (Паскаль с ASM вставками) | XORandom | Помощь студентам | 1 | 27.01.2019 13:12 |
0.5 быстрее работает чем /2 | ts-alan | C# (си шарп) | 10 | 02.09.2015 10:33 |
косвенная адресация(assembler) | nastya2112 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 02.06.2011 02:53 |
Почему inc работает быстрее обычного сложения | Rusl92 | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 26.04.2010 11:58 |