|
0 / 0 / 0
Регистрация: 05.03.2021
Сообщений: 12
|
|
Оператор & перед переменной16.07.2021, 14:03. Показов 12028. Ответов 16
Метки нет (Все метки)
0
|
|
| 16.07.2021, 14:03 | |
|
Ответы с готовыми решениями:
16
Оператор gets() не хочет выполняться, если перед ним стоит scanf Что означает * перед переменной ? Условный оператор: Переменной Y присвоить значение той переменной, которое находится между двумя другими на числовой оси |
|
2673 / 1335 / 480
Регистрация: 08.11.2016
Сообщений: 3,687
|
||||||
| 16.07.2021, 14:17 | ||||||
Сообщение было отмечено _maksat_ как решение
Решение
Унарный оператор & (амперсанд) - оператор взятия адреса, перед переменной означает взятие адреса переменной, перед переменной при объявлении означает объявление ссылки и должен быть иницализирован переменной, указанный в параметрах функции означает передачу параметра по ссылке, то есть в функцию будет передан адрес переменной и все изменения отразятся на переменной вне функции.
1
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 16.07.2021, 14:17 | ||
&n может означать самые разные вещи,в зависимости от контекста использования. например: операцию взятия адреса, или объявление ссылки.
0
|
||
|
342 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
|
||||||||||||
| 16.07.2021, 14:36 | ||||||||||||
|
А ещё его можно перегрузить по-приколу
![]() Добавлено через 10 минут Это равносильно такой отвратной записи(которую обожают Си-сты)
Поэтому, как нам страуструп завещал, пишем спецификаторы типа рядом с типом, а операторы рядом с объектиками P.S. Надеюсь так никто писать не пытался?
1
|
||||||||||||
|
2673 / 1335 / 480
Регистрация: 08.11.2016
Сообщений: 3,687
|
|
| 16.07.2021, 14:49 | |
|
qppq, если знаете зачем Вам это нужно, то можно.
1
|
|
|
342 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
|
|
| 16.07.2021, 15:10 | |
|
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 16.07.2021, 15:17 | |||||||
|
однако практика показывает, что люди писали, пишут, и будут писать через жопу. и ничего с этим поделать нельзя. Кликните здесь для просмотра всего текста
я прямо сейчас работаю с проектом,
разработчики которого используют такой стиль:
1
|
|||||||
|
0 / 0 / 0
Регистрация: 05.03.2021
Сообщений: 12
|
|
| 16.07.2021, 16:11 [ТС] | |
|
Спасибо всем, вправду помогли!!!
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,268
|
|
| 16.07.2021, 17:30 | |
|
У меня давно вопрос - а зачем всё это нужно? К переменной можно обратиться по имени, по адресу или по ссылке. На уровне машинных кодов всё сведётся к физическому адресу переменной в памяти. Зачем это тройное дублирование?
Единственно что приходит в голову - для максимального запутывания исходного текста программы, что-бы без запуска и трассирования невозможно было понять, как она работает, что делает и что вызывает. Разные названия указывают на один физический адрес в памяти - зачем?
0
|
|
|
342 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
|
||||||
| 16.07.2021, 17:36 | ||||||
|
А? Что?
https://en.cppreference.com/w/... tring_view https://en.cppreference.com/w/cpp/container/span А как вы обратитесь к чему-то из иной области видимости? И правда. И на питоне норм писать Добавлено через 1 минуту
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 16.07.2021, 17:41 | |||
|
обращение по имени сводится к обращению по адресу. обращение по указателю сводится к обращению по адресу, который записан по адресу указателя.. обращение по ссылке сводится к обращению по имени везде, где это возможно, или к обращению по указателю во всех остальных случаях. они позволяют избежать копирование объекта при вызове функций, тем самым уменьшая расход памяти, и ускоряя работу программы.
0
|
|||
|
342 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
|
|
| 16.07.2021, 17:43 | |
|
Омг, зачем избегать копирования с помощью ссылок, когда можно просто мувнуть объект в функцию и вымувнуть обратно после использования
0
|
|
|
фрилансер
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,054
|
|
| 16.07.2021, 17:50 | |
|
Super-Hacker, скопировать указатель - это более лёгкая операция, чем перемещение (ведь переменные бывают не только типа int)
ну и опасная практика оставлять объект источник в непонятном состоянии, пока выполняется функция. А если вымувнешь не то? Или вообще исключение кинется? Кроме того, при вызове функции придётся два раз указывать объект - в аргументах и для присваивания возвращаемого значения
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,268
|
||
| 16.07.2021, 17:56 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 16.07.2021, 18:00 | ||
|
что бы не нужно было ничего ни мувновать, ни затем вымувновывать обратно. зачем что-то делать, если ты можешь получить аналогичный результат, ничего не делая?
0
|
||
|
342 / 114 / 37
Регистрация: 26.11.2019
Сообщений: 735
|
|
| 16.07.2021, 18:57 | |
|
Простите, я забыл добавить в конце смайлик
0
|
|
| 16.07.2021, 18:57 | |
|
Помогаю со студенческими работами здесь
17
~~ перед переменной значение переменной перед выполнением HTML текст перед переменной
Изменение переменной перед ajax по клику Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|