1 / 1 / 0
Регистрация: 31.01.2015
Сообщений: 197
|
|
1 | |
Объяснить, что делает операция *& и чем она отличается от простого указателя?09.05.2016, 11:05. Показов 1841. Ответов 34
Метки нет (Все метки)
0
|
09.05.2016, 11:05 | |
Ответы с готовыми решениями:
34
Игра морской бой.Можете объяснить операцию case что она делает ?И что означает переменная m3,m2,m1, и переменная z? что такого в FT232 или чем она отличается? Чем ссылка отличается от указателя? Чем оператор || отличается от оператора && ? |
Заблокирован
|
|
09.05.2016, 11:11 | 2 |
Приведи пример кода откуда ты его взял. Просто, что-то я не припоминаю таких операторов.
0
|
1 / 1 / 0
Регистрация: 31.01.2015
Сообщений: 197
|
||||||
09.05.2016, 11:14 [ТС] | 3 | |||||
Programmist5,
0
|
Заблокирован
|
|
09.05.2016, 11:30 | 4 |
У Вас этот код компилируется? Если компилируется, то в чем Вы пишете?
0
|
1 / 1 / 0
Регистрация: 31.01.2015
Сообщений: 197
|
|
09.05.2016, 11:32 [ТС] | 5 |
Programmist5, код компилируется и работает...но если использовать просто указатель то он работает не корректно...так я хочу узнать что это такое(*&) никогда раньше не видел...гугл не катит...найти ничего не могу
0
|
09.05.2016, 11:35 | 6 |
Вместо "CTreeElement *&el" напиши "CTreeElement* &el" (в другом месте пробел), может так понятнее будет, какой символ к чему относится. Ну или на худой конец
C++ typedef CTreeElement* ptr; int AddElement2 (ptr &el)
1
|
1 / 1 / 0
Регистрация: 31.01.2015
Сообщений: 197
|
|
09.05.2016, 11:36 [ТС] | 7 |
Evg, спасибо
0
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
|
09.05.2016, 11:36 | 8 |
это ссылка на указатель.
1
|
Заблокирован
|
|
09.05.2016, 11:37 | 9 |
НУ вот я в биледере пишу 6 версии. Старовато, но что делать. 1) Он пишет, что нельзя объявлять параметр функции как "CTreeElement", да и я вообще не знаю что это такое. Первое, что приходит на ум это элемент TTreeView - ну дерево короче обычное, VCL-элемент, т.е. графический элемент, у Вас он или не он я не знаю.
2) Ну и такой конструкции я не встречал. Обычно пишут: * - указатель; & - взять адрес.
0
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
||||||
09.05.2016, 11:43 | 10 | |||||
Вот наглядный код который демонстрирует, что это такое и с чем его есть:
0
|
Заблокирован
|
|||||||||||
09.05.2016, 13:16 | 11 | ||||||||||
- указатель на куст что-ли? Поделитесь секретиком что означает элемент CTreeElement?
Добавлено через 56 минут Если честно не понял разницы между:
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
09.05.2016, 13:48 | 12 | |||||
Programmist5, возможно, так понятней будет:
1
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
09.05.2016, 14:13 | 13 | |||||
1
|
Комп_Оратор)
|
||||||
09.05.2016, 14:16 | 14 | |||||
Raketa, ссылка может быть объявлена на всё. Кроме ссылки. На указатель ссылка объявляется так же как и на любой другой тип.
Сделано, это с той же целью, что и для других переменных, то есть для упрощения синтаксиса по сравнению с передачей по указателю. Например, чтобы выделить динамическую память по указателю, переданному в функцию, нужно в неё передать указатель на этот указатель. Иначе, если передать сам указатель, то адрес выделенной памяти попадёт в копию и кроме утечки ничего не произойдёт. Передавать указатель на указатель, это писать две звезды. А в функции разыменовывать. А потом ещё их читать придётся когда-нибудь. Поэтому, легче передать указатель по ссылке.
0
|
Заблокирован
|
|
09.05.2016, 14:22 | 15 |
А, Toshkarik, это типа если написать *&, то остается связь между локальной переменной в функции и глобальной переменной в программе?
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
09.05.2016, 14:26 | 16 |
Programmist5, нет. Это значит, что Вы можете изменять сам указатель, а не только объект на который он указывает.
0
|
Заблокирован
|
|
09.05.2016, 14:39 | 17 |
Я не так понял.
Случай 1(со *): передаем ссылку ptr в указатель, изменяем ссылку m внутри подпрограммы, выходим и не изменяется указатель ptr. Случай 2(со *&): передаем ссылку ptr в указатель, изменяем ссылку m внутри подпрограммы, выходим и изменяется сам указатель ptr.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
09.05.2016, 14:52 | 18 |
Programmist5, нет, в первом случае Вы передаете копию указателя. Во втором ссылку на него.
0
|
Заблокирован
|
|
09.05.2016, 15:00 | 19 |
- это правильно.
- вот это не правильно, ptr и p имеют одинаковый адрес, т.е. это одно и то же. По-крайней мере у меня в C++Builder 6 так.
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
09.05.2016, 15:09 | 20 | |||||
Programmist5, Вы сравнивали p и ptr? Так это не правильно, нужно сравнивать ( &p и &ptr ).
В первом случае значения будут разные, во втором - одинаковые. Добавлено через 52 секунды Если же сравнивать p и ptr, то в обоих случаях значения будут одинаковыми. Добавлено через 4 минуты
0
|
09.05.2016, 15:09 | |
09.05.2016, 15:09 | |
Помогаю со студенческими работами здесь
20
Почему используется *& вместо простого указателя и как это работает? Что делает эта строчка: ++x && ++y || ++z; ? Определить, что делает программа, сколько значений х она выводит и в чем особенности двух последних значений Чем отличается указатель на массив от обычного указателя? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|