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

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

05.08.2026, 20:53. Показов 10805. Ответов 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,361
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
6510 / 5770 / 1135
Регистрация: 11.10.2019
Сообщений: 15,413
14.08.2026, 06:56
Цитата Сообщение от alexu_007 Посмотреть сообщение
можно вибратор
с этим на другой форум

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

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

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

Везде где можно пользуюсь at(), никаких исключений не видел ни разу.
0
фрилансер
 Аватар для Алексей1153
6510 / 5770 / 1135
Регистрация: 11.10.2019
Сообщений: 15,413
14.08.2026, 08:02
alexu_007, примеряешь роль тролля ? По кривой дорожке
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
14.08.2026, 09:32
avedeo, Указатель указывает адрес. Вот например адрес на почтовом конверте "Город Нэнск улица Угловая дом 2"
А кто там живет? Сегодня Миша, завтра Маша...
Чтобы узнать конкретно нужно разыменовывать указатель
Если Миша то послать ему дрель а если Маша то расческу
0
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 862
14.08.2026, 09:44
Цитата Сообщение от alexu_007 Посмотреть сообщение
Где у меня такая строчка в коде? Если бы была - я бы пользовался указателем. Но её нету.
Как докажете?
У вас куча классов, содержимое которых никто не видит. И внутри коих может быть стадо указателей. И от того, что не вы их писали, они не перестают быть указателями.
0
3148 / 1747 / 276
Регистрация: 19.02.2010
Сообщений: 4,559
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
Сообщений: 862
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,361
14.08.2026, 10:47
Я написал так, как помню ассемблер - т.е. очень плохо и на уровне MS DOS. Вопрос не в этом. Вопрос в том, что хоть итераторы, хоть целочисленные переменные - итоговый код будет примерно одинаковым. В лучшем случае. В худшем - итераторы будут обращаться к своим библиотечным функциям - как они могут работать быстрее? Заменят cmp на JECXZ?

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

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

0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,361
14.08.2026, 15:32
Цитата Сообщение от jcxz Посмотреть сообщение
Я не представляю как так можно программировать на си без указателей.
Да читал я ваш пост №90. Кто сейчас на чистом Си программирует? Плюсы + фреймворк. Нужна строчка - QString, std::string. Нужен список: QList, std::vector, QByteArray, bitset. На любой вкус. Без указателей.
0
 Аватар для Наталья8
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,385
14.08.2026, 15:36
Цитата Сообщение от alexu_007 Посмотреть сообщение
Нужна строчка - QString, std::string. Нужен список: QList, std::vector, QByteArray, bitset. На любой вкус.
Это на ваш вкус, уважаемый.
Подозреваю что наверное есть ещё такие люди...
Но зачем эту хрень пропагандировать так.
Я например ни чего хорошего там не вижу...
0
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,361
14.08.2026, 15:50
Цитата Сообщение от Наталья8 Посмотреть сообщение
Я например ни чего хорошего там не вижу...
Где там - в контейнерах?
0
 Аватар для Наталья8
639 / 397 / 68
Регистрация: 09.03.2016
Сообщений: 4,385
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
Сообщений: 862
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
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru