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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
asiar
0 / 0 / 0
Регистрация: 08.12.2009
Сообщений: 12
#1

Ссылка, Указатель, Область памяти выделенная оператором new для указателя - C++

13.10.2010, 19:58. Просмотров 1090. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста, как сделать ссылку на область памяти выделенную оператором new для указателя

читая книгу Джесса Либерти в которой приводятся первые три строчки тела функции main, я решил написать вот такую программу но она не заработала, а я получил сообщения об ошибке
'rInt' : undeclared identifier





C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int main()
{
    int * pInt=new int;
    if(pInt!=NULL)
    int & rInt=*pInt;
    
    *pInt=67;
    cout<<"*pInt="<<*pInt<<endl;
           cout<<"rInt :"<<rInt;
    
    return 0;
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 19:58     Ссылка, Указатель, Область памяти выделенная оператором new для указателя
Посмотрите здесь:

Указатель на конкретную область памяти - C++
Есть такая программа ArtMoney, с её помощью мы ищем адрес в памяти, затем изменяем значение по указателю, чтобы изменить количество игровой...

Сколько памяти занимает указатель? Ссылка? - C++
Вот никак не могу найти ответы на эти вопросы. Указатели и ссылки эффективны в плане времени, но что касается выделяемой памяти, хотелось...

Выделение памяти для указателя - C++
Помогите пожалуйста разобраться в одном примере: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main() { ...

Указатель на объект с перегруженным оператором вывода(с наследованием) - C++
Есть два класса: строка(базовый) и комплексное число(производный). В базовом классе есть поле stri (указатель на char). В производном...

Как работает ссылка с объектами, классами и перегруженным оператором [] - C++
Я тут решил поиграться с кодом и понял что совершенно не догоняю как работает ссылка &amp; Есть код нормально работающий: #include...

Разыменование указателя на указатель - C++
в функцию передается указатель на указатель класса, что бы получить доступ к методам класса нужно разименовать указатель так ? MyClass...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.10.2010, 20:05     Ссылка, Указатель, Область памяти выделенная оператором new для указателя #2
а так:
C++
1
int & rInt=pInt;
asiar
0 / 0 / 0
Регистрация: 08.12.2009
Сообщений: 12
13.10.2010, 20:12  [ТС]     Ссылка, Указатель, Область памяти выделенная оператором new для указателя #3
Цитата Сообщение от Crudelis Посмотреть сообщение
а так:
C++
1
int & rInt=pInt;
так даже объявить не получилось
может адрес адрес помещенный в указатель pInt вообще не int
ааа???

возник сразу еще один вопрос можно ли сделать ссылку на адрес, который хранится в указателе ???(хотя может в этом и необходимости не бывает )
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.10.2010, 20:52     Ссылка, Указатель, Область памяти выделенная оператором new для указателя #4
Думаю тут описано понятнее
StUser
11 / 11 / 1
Регистрация: 09.10.2010
Сообщений: 23
13.10.2010, 21:22     Ссылка, Указатель, Область памяти выделенная оператором new для указателя #5
asiar,
Ссылки и указатели тут ни при чем. Просто область видимости 'rInt' только в блоке if.


Правильней так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
int main()
{
    int * pInt=new int;
    if(pInt!=NULL)
    {
        int & rInt=*pInt;
    
        *pInt=67;
        std::cout<<"*pInt="<<*pInt<<std::endl;
           std::cout<<"rInt :"<<rInt;
    }
    return 0;
    
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2010, 21:34     Ссылка, Указатель, Область памяти выделенная оператором new для указателя
Еще ссылки по теме:

Инкремент указателя на указатель - C++
Добрый день!!! Ребят, подскажите пожалуста, как выполнить инкремент указателя на указатель. Программа аварийно завершается. Я так понимаю,...

Передача указателя на указатель в функцию - C++
Вопрос к знатокам: Есть абстрактный класс(Symbol) и его производный (Cross). Создаю указатель этого абстрактного класса(Symbol *first) ,...

Передача в функцию указателя на указатель - C++
Добавление нового элемента в начало списка: void Add_Beg(List **u, Data &amp;x) // Почему в 1 аргументе функции указатель на указатель? { ...

Чем ссылка отличается от указателя? - C++
чем ссылка отличается от указателя?

Указатель на объект из указателя на член класса - C++
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; int main()

вызов метода у указателя на указатель на класс - C++
Доброго времени суток! Простите за, возможно, глупый вопрос и/или его неточную формулировку, но вот что есть: class parent { ...


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

Или воспользуйтесь поиском по форуму:
KuKu
1557 / 1035 / 77
Регистрация: 17.04.2009
Сообщений: 2,980
13.10.2010, 21:34     Ссылка, Указатель, Область памяти выделенная оператором new для указателя #6
C++
1
 int & rInt;
- так вообще писать нельзя. Ссылка сама по себе - это уже указатель существующего объекта. Нельзя декларировать ссылку несуществующего объекта.
Yandex
Объявления
13.10.2010, 21:34     Ссылка, Указатель, Область памяти выделенная оператором new для указателя
Ответ Создать тему
Опции темы

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