Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 10

Как понять тему ссылки и указатели

05.08.2026, 20:53. Показов 10532. Ответов 135
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я не понимаю эту тему я постоянно путаюсь дайте какойто видеоурок самый понятный или сами объясните я не понимаю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.08.2026, 20:53
Ответы с готовыми решениями:

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно....

Code:: Blocks (не на тему программирования, а на тему настройки)
доброе время суток сразу попрошу прощения за созданную тему в этом разделе, которая не совсем по...

Указатели на указатели, как правильно разыменовать, где ошибка?
1)Есть класс: Shape - абстрактный; у него есть классы наследники: Circle, Triangle. 2)Eсть...

135
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
13.08.2026, 20:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Алексей1153 Посмотреть сообщение
а вот тут можно было итератор и применить
всё поэффективнее выйдет
Можно итератор, можно вибратор... Все равно скомпилируется во что-то типо:

Assembler
1
2
3
4
5
6
7
8
9
10
11
mov cx, 100
 
500:
cmp cx, 0
je 1000
...
тело цикла
...
sub cx, 1
jmp 500
1000:
Добавлено через 4 минуты
Цитата Сообщение от jcxz Посмотреть сообщение
1
struct Ptr { void *ptr; };
Где у меня такая строчка в коде? Если бы была - я бы пользовался указателем. Но её нету.
0
фрилансер
 Аватар для Алексей1153
6508 / 5760 / 1135
Регистрация: 11.10.2019
Сообщений: 15,410
14.08.2026, 06:56
Цитата Сообщение от alexu_007 Посмотреть сообщение
можно вибратор
с этим на другой форум

Цитата Сообщение от alexu_007 Посмотреть сообщение
Все равно скомпилируется во что-то типо:
где доказательства?
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
14.08.2026, 07:27
Это самый быстрый цикл, который может придумать оптимизирующий компилятор. А с итераторами что? Он начнет лазить по библиотекам, где описаны итераторы?
0
фрилансер
 Аватар для Алексей1153
6508 / 5760 / 1135
Регистрация: 11.10.2019
Сообщений: 15,410
14.08.2026, 07:39
alexu_007, повторяю уже написанное ранее:

1) метод at() может кинуть исключение. Он явно тут не в тему
2) оператор [] - работает с индексом (грубо говоря, операция *(begin+i) , то есть - сложение, потом разыменование)
3) при работе с итераторами/указателями - только разыменование *pointer

Как это обработает оптимизатор - заранее неизвестно, но зачем его провоцировать на менее эффективные действия ?
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
14.08.2026, 07:51
Цитата Сообщение от Алексей1153 Посмотреть сообщение
метод at() может кинуть исключение. Он явно тут не в тему
Метод at() используется только для чтения и обеспечивает быстрый доступ к данным. При [] осуществляется глубокое копирование, он работает медленнее, но может и читать и записывать данные.

Везде где можно пользуюсь at(), никаких исключений не видел ни разу.
0
фрилансер
 Аватар для Алексей1153
6508 / 5760 / 1135
Регистрация: 11.10.2019
Сообщений: 15,410
14.08.2026, 08:02
alexu_007, примеряешь роль тролля ? По кривой дорожке
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
14.08.2026, 09:32
avedeo, Указатель указывает адрес. Вот например адрес на почтовом конверте "Город Нэнск улица Угловая дом 2"
А кто там живет? Сегодня Миша, завтра Маша...
Чтобы узнать конкретно нужно разыменовывать указатель
Если Миша то послать ему дрель а если Маша то расческу
0
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 850
14.08.2026, 09:44
Цитата Сообщение от alexu_007 Посмотреть сообщение
Где у меня такая строчка в коде? Если бы была - я бы пользовался указателем. Но её нету.
Как докажете?
У вас куча классов, содержимое которых никто не видит. И внутри коих может быть стадо указателей. И от того, что не вы их писали, они не перестают быть указателями.
0
3144 / 1744 / 275
Регистрация: 19.02.2010
Сообщений: 4,552
14.08.2026, 10:13
Цитата Сообщение от alexu_007 Посмотреть сообщение
Все равно скомпилируется во что-то типо:
Assembler
1
2
3
4
...
cmp cx, 0
je 1000
...
Не, если надо делать условный переход после проверки cx / ecx / rcx на равенство именно нулю - то эти 2 строки можно заменить одной командой jcxz / jecxz / jrcxz.
У нас и коллега с таким ником в теме присутствует - его пост выше моего.
Тем более, что команды jcxz / jecxz / jrcxz не изменяют флаги - т.е. после такого перехода будут оставаться валидными флаги результатов какой-нить предыдущей проверки, что м.б. позволит для логики с несколькими "запутанными между собой" условиями сделать ассемблерный код более компактным
0
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 850
14.08.2026, 10:28
Цитата Сообщение от alexu_007 Посмотреть сообщение
Это самый быстрый цикл, который может придумать оптимизирующий компилятор.
Выбросьте свой "оптимизирующий компилятор". Потому как действительно оптимизирующий, цикл с предусловием скомпилит во что-то вроде:
Assembler
1
2
3
4
5
6
7
8
9
MOV ECX, ...
JECXZ p2  ;или OR ECX, ECX + JZ p2
p1:
...
тело цикла
...
DEC ECX
JNZ p1
p2:
PS: Интересно - как именно вы умудряетесь что-то компилировать в 16-битном режиме для Qt? Серьёзно??

Добавлено через 3 минуты
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Не, если надо делать условный переход после проверки cx / ecx / rcx на равенство именно нулю - то эти 2 строки можно заменить одной командой jcxz / jecxz / jrcxz.
Во, уже успели написать пока я строчил пост...
Но здесь вы выразились не точно. Важна не замена пары команд на JECX, а удаление 2-х лишних команд во всех проходах цикла после 1-го. Поэтому оптимизирующий компилятор построит цикл примерно как я написал выше.
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
14.08.2026, 10:47
Я написал так, как помню ассемблер - т.е. очень плохо и на уровне MS DOS. Вопрос не в этом. Вопрос в том, что хоть итераторы, хоть целочисленные переменные - итоговый код будет примерно одинаковым. В лучшем случае. В худшем - итераторы будут обращаться к своим библиотечным функциям - как они могут работать быстрее? Заменят cmp на JECXZ?

Добавлено через 10 минут
Цитата Сообщение от jcxz Посмотреть сообщение
И от того, что не вы их писали, они не перестают быть указателями.
Я утверждал, что Я почти не пользуюсь указателями. Чем там пользуется сам Qt - меня мало интересует.

Если принять как необходимость передачу параметров в функцию - зачем еще нужен указатель? Из-за возможности менять его содержимое в ходе выполнения программы? Это так важно?
0
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 850
14.08.2026, 12:12
Цитата Сообщение от alexu_007 Посмотреть сообщение
Если принять как необходимость передачу параметров в функцию - зачем еще нужен указатель?
Я выше уже писал. Вы читали?
0
 Аватар для Наталья8
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,375
14.08.2026, 13:59
Цитата Сообщение от alexu_007 Посмотреть сообщение
как помню ассемблер - т.е. очень плохо и на уровне MS DOS
Да Да... Я тоже на спектруме светодиодиками мигал...
Если начать заниматься ассемблером, много времени сожрёт....

0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
14.08.2026, 15:32
Цитата Сообщение от jcxz Посмотреть сообщение
Я не представляю как так можно программировать на си без указателей.
Да читал я ваш пост №90. Кто сейчас на чистом Си программирует? Плюсы + фреймворк. Нужна строчка - QString, std::string. Нужен список: QList, std::vector, QByteArray, bitset. На любой вкус. Без указателей.
0
 Аватар для Наталья8
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,375
14.08.2026, 15:36
Цитата Сообщение от alexu_007 Посмотреть сообщение
Нужна строчка - QString, std::string. Нужен список: QList, std::vector, QByteArray, bitset. На любой вкус.
Это на ваш вкус, уважаемый.
Подозреваю что наверное есть ещё такие люди...
Но зачем эту хрень пропагандировать так.
Я например ни чего хорошего там не вижу...
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,351
14.08.2026, 15:50
Цитата Сообщение от Наталья8 Посмотреть сообщение
Я например ни чего хорошего там не вижу...
Где там - в контейнерах?
0
 Аватар для Наталья8
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,375
14.08.2026, 18:43
А зачем вам дяденька контейнеры?
В си нету ни каких std, и какой крутой ЯП....
И нету ни каких КУ... "Q"
Вектором пользовался (виноват.)
Си не хуже вашего QT?? (КУ - ТЕ..)
------------
Вру конечно. Бывают контейнеры без которых нельзя обойтись. cv_Mat например в opencv.
Кольцевой буфер это контейнер?
C++
1
2
3
4
5
6
**Создайте буфер FIFO  */
SwrContext * open_audio(AVAudioFifo **fifo, AVCodecContext *dec_ctx, AVCodecContext *enc_ctx)
{
    int ret = 0;
    AVCodecContext *c = enc_ctx;
    struct SwrContext *swr_ctx;
Вот контейнер... Но он какой красивый бывает...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Функция создания и заполнения ListView
HWND CreateMyListView(HWND hwndParent, HINSTANCE hInstance, std::wifstream& fin) {
    // 1. Инициализация элементов управления общего пользования
    INITCOMMONCONTROLSEX icex;
    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    icex.dwICC = ICC_LISTVIEW_CLASSES;
    InitCommonControlsEx(&icex);
 
    // 2. Создание окна ListView
    HWND hwndLV = CreateWindowEx(
        0, WC_LISTVIEW, L"",
        WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_OWNERDRAWFIXED ,//| LVS_EDITLABELS
        8,// - X
        15,
        lenght-30,// Длина
        185,
        hwndParent, (HMENU)WERT, hInstance, NULL
    );
Но если можно обойтись, то конечно можно обойтись.
Миниатюры
Как понять тему ссылки и указатели  
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
16.08.2026, 13:18
Цитата Сообщение от alexu_007 Посмотреть сообщение
Кто сейчас на чистом Си программирует?
Всё же зависит от задачи. У меня, например, текущий проект на Си, потому что на конечном устройстве 128 байт RAM.
0
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 850
16.08.2026, 13:24
Цитата Сообщение от Croessmah Посмотреть сообщение
У меня, например, текущий проект на Си, потому что на конечном устройстве 128 байт RAM.
И что? Какая связь между объёмом ОЗУ и си/си++?
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
16.08.2026, 13:32
Цитата Сообщение от jcxz Посмотреть сообщение
И что? Какая связь между объёмом ОЗУ и си/си++?
Для C++ требуется дополнительный рантайм

Добавлено через 3 минуты
Ну да, можно взять C++ (если найдется компилятор), написать всё "в стиле C" и получить тоже самое. Только непонятно зачем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.08.2026, 13:32

Указатели на функции. Указатели на функции как формальные параметры у функциях высшего уровня
Найти наименьшее значение для функций используя функции и указатели на функции ...

Вопрос по программе на тему: Массивы и указатели. Динамическое выделение памяти
народ, очень прошу! пожалуйста! Помогите решить задачку на тему: Массивы и указатели. Динамическое...

Программа на тему указатели, функции, строки. (язык Си)
Доброго времени суток. Как это случается со многими - я оттянула решение лабораторных работ до...

Задание на тему Указатели
требуется решить такую задачу на C++ : Имеются N-точек, соединенных отрезками. Составить...

Задачи на тему "указатели"
Нужны задачки для закрепления темы "указатели". Проходил тему по Шилдту и частично по Девису....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru