Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Intel~lect
135 / 124 / 14
Регистрация: 03.07.2012
Сообщений: 355
1

Совместное использование указателей и ссылок

28.07.2012, 12:05. Просмотров 537. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
int *ptr;
int &ref = *ptr;
 
ref = 1;
Вот и весь вопрос. Ничего плохого в этом нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2012, 12:05
Ответы с готовыми решениями:

Использование ссылок и указателей
Добрый вечер Помогите разобраться и понять «Использование ссылок и указателей» Прочел много...

Использование ссылок или указателей в качестве обычного объекта
Возвращаю ссылку, но происходит копирование. Можно ли как-то избежать копирования и освободить...

Совместное использование классов
Здравствуйте, возник такой вопрос, как следует писать код, чтобы 2 не зависимых класса могли...

Совместное использование cin и geline
У меня возник один не очень сложный вопрос, но ,кроме обмана компилятора, я не смог найти решение)...

Совместное использование sptintf и std::string
Хотелось бы получить форматированную строку в переменной типа std::string, Максимально простым...

5
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
28.07.2012, 12:15 2
Думаю, нельзя... Тут же разыменование невалидного указателя, получается что-то типа:

C++
1
2
int *ptr;   
*ptr = 1;
А вот так может быть и можно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{  
    int x = 8;
    int *ptr = &x;
    int &ref = *ptr;
     
    ref = 1;
 
    std::cout << x;
        
    return 0;
}
1
Intel~lect
135 / 124 / 14
Регистрация: 03.07.2012
Сообщений: 355
28.07.2012, 12:44  [ТС] 3
Спасибо Schizorb, Вроде понятно стало.
0
Endiff
31 / 31 / 3
Регистрация: 19.05.2012
Сообщений: 67
28.07.2012, 12:50 4
В Си++ бесполезно делать указатель на ссылку. Имхо. Если ты инициализируешь указатель адресом ссылки, фактически, ты работаешь с оригинальной переменной.
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
28.07.2012, 12:54 5
Цитата Сообщение от Endiff Посмотреть сообщение
В Си++ бесполезно делать указатель на ссылку. Имхо.
Тут вроде и нет указателя на ссылку А вообще указатель на ссылку будет просто содержать адрес переменной, которой была проинициализирована ссылка.

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    int x = 8;
 
    int & ref = x;
    
    int * ptr = &ref;
    
    std::cout << &x << " == " << ptr << "\n";
    
    return 0;
}
2
Endiff
31 / 31 / 3
Регистрация: 19.05.2012
Сообщений: 67
28.07.2012, 12:58 6
Schizorb, пардон, не увидел
0
28.07.2012, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2012, 12:58

Сравнение указателей и ссылок.
Не совсем так для них компилятор вырабатывает разный ассемблерный код int main() { //mov...

Касательно указателей и ссылок.
Цитирую фразу из популярной ныне книги Айвора Хортона. &quot;Никогда не возвращайте из функции ссылку...

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя.
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru