Форум программистов, компьютерный форум CyberForum.ru

Указатели(Какую роль выполняют &* и *&) - C++

Восстановить пароль Регистрация
 
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 20:45     Указатели(Какую роль выполняют &* и *&) #1
Всем доброго вечера. Возникла проблема. Помогите решить ее.
Какую роль выполняют &* и *& . Если возможно приведите примеры пожалуйста =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.01.2013, 21:10     Указатели(Какую роль выполняют &* и *&) #2
Vahram1995, у них одинаковый приоритет. Поэтому ничего они не делают.

Цитата Сообщение от Vahram1995 Посмотреть сообщение
&*
Здесь переход от итеретора к указателю. Возможен такой вариант.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
20.01.2013, 21:15     Указатели(Какую роль выполняют &* и *&) #3
Цитата Сообщение от Vahram1995 Посмотреть сообщение
*&
как вариант - ссылка на указатель:
C++
1
int *& lnk=int_pointer;
Добавлено через 2 минуты
И еще, например, вот такой бред:
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){
    int x=14;
    int * p=&x;
    std::cout<<*&*&*&x<<std::endl;
    std::cout<<&*&*&*p<<std::endl;
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.01.2013, 21:29     Указатели(Какую роль выполняют &* и *&) #4
Ну вообще говоря о указателях:
Операции & и * являются обратными друг
другу — последовательно применяемые к указателю в любом порядке, эти операции
«взаимно сокращаются».
Что в принципе логично, если понимать смысл этих операций.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
20.01.2013, 21:34     Указатели(Какую роль выполняют &* и *&) #5
Разыменовать (*) не каждую сущность можно.
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 21:40  [ТС]     Указатели(Какую роль выполняют &* и *&) #6
Цитата Сообщение от Toshkarik Посмотреть сообщение
Операции & и * являются обратными друг
другу — последовательно применяемые к указателю в любом порядке, эти операции
«взаимно сокращаются».
Но в коде можно так писать или компилятор выдаст ошибку?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.01.2013, 21:44     Указатели(Какую роль выполняют &* и *&) #7
Vahram1995, писать можно, но это бессмысленно.
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 21:47  [ТС]     Указатели(Какую роль выполняют &* и *&) #8
Цитата Сообщение от Croessmah Посмотреть сообщение
как вариант - ссылка на указатель: Код C++1
int *& lnk=int_pointer;
То есть lnk и int_pointer указатели
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.01.2013, 21:57     Указатели(Какую роль выполняют &* и *&) #9
Vahram1995, нет, lnk это ссылка на указатель.

Добавлено через 8 минут
Vahram1995, Вы видать немного запутались. Вам всего лишь нужно различать эти операции при объявлении и при использовании.
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 22:09  [ТС]     Указатели(Какую роль выполняют &* и *&) #10
C++
1
2
3
4
int a; 
int *p = &a; // указатель 
int &r = a; // ссылка на a 
int *& rp = p; // ссылка на указатель p
Я все правильно понял?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.01.2013, 22:11     Указатели(Какую роль выполняют &* и *&) #11
Vahram1995, да, все верно.
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 22:20  [ТС]     Указатели(Какую роль выполняют &* и *&) #12
А указателя на ссылку не существует?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.01.2013, 22:23     Указатели(Какую роль выполняют &* и *&) #13
Vahram1995, смотря что Вы под этим имеете ввиду.
Vahram1995
 Аватар для Vahram1995
1 / 1 / 0
Регистрация: 20.01.2013
Сообщений: 74
20.01.2013, 22:49  [ТС]     Указатели(Какую роль выполняют &* и *&) #14
int &* rp = p;
или
int &t = *p;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2013, 22:56     Указатели(Какую роль выполняют &* и *&)
Еще ссылки по теме:

Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ? C++
Почему в выражении нельзя использовать запятую вместо && C++
Nested classes && enum declaration C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
20.01.2013, 22:56     Указатели(Какую роль выполняют &* и *&) #15
Цитата Сообщение от Vahram1995 Посмотреть сообщение
А указателя на ссылку не существует?
нет.
Yandex
Объявления
20.01.2013, 22:56     Указатели(Какую роль выполняют &* и *&)
Ответ Создать тему
Опции темы

Текущее время: 03:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru