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

объясните код - C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 16:23     объясните код #1
не понятно что означает это
C++
1
2
int*pointer;
pointer=new int
Добавлено через 1 минуту
я как понял это обычный указатель где хранится адрес только на этот раз дин.память?

Добавлено через 3 минуты
хмм...
C++
1
2
new *pointer=int a;//создается указатель на А
delete poiner;//а удаляется из памяти?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2010, 16:23     объясните код
Посмотрите здесь:

Объясните код C++
C++ Объясните код
C++ Объясните код
Объясните код C++
C++ Объясните код
C++ Объясните код
C++ Объясните код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
13.02.2010, 16:47     объясните код #2
Цитата Сообщение от МедведЪ Посмотреть сообщение
delete poiner;//а удаляется из памяти?
можеш не писать,но глюк при повторе кода без закрытия возможен))
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 16:50  [ТС]     объясните код #3
cibertronic, значит эт так?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
13.02.2010, 16:53     объясните код #4
Цитата Сообщение от МедведЪ Посмотреть сообщение
new *pointer=int a;//создается указатель на А
откуда такая интересная запись)
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 16:58  [ТС]     объясните код #5
kazak, из книжки
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
13.02.2010, 17:00     объясните код #6
да был гдето интересный пример, но найти не могу....слишком дофига исходников))) причем больинство корявых...найду, скину

Добавлено через 1 минуту
автора скажешь?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
13.02.2010, 17:02     объясните код #7
Цитата Сообщение от МедведЪ Посмотреть сообщение
kazak, из книжки
Не знаю как у автора этой книжки, а у меня ни мой мозг, ни компилятор такуюю конструкцию не воспринимают.)
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 17:04  [ТС]     объясните код #8
С++ за 21 день...
Цитата Сообщение от cibertronic Посмотреть сообщение
да был гдето интересный пример, но найти не могу....слишком дофига исходников))) причем больинство корявых...найду, скину
а как на счет сам писать

Добавлено через 1 минуту
kazak, убиваюсь уже яя иупые книги!!!

Не по теме:


посоветуй пожалуйста нормальную книгу для меня...

kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
13.02.2010, 17:08     объясните код #9
Может автор имел в виду такой пример?
C++
1
2
3
int a;
int *pointer;
pointer = &a;
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9384 / 5434 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
13.02.2010, 17:09     объясните код #10
МедведЪ,
C++
1
2
3
4
5
6
7
8
9
int *pointer; // объявление переменной, значением которой может быть адрес ячейки памяти
// достаточной для хранения переменной типа int
pointer = new int; // резервирование этой самой ячейки и присвоение её адреса
// переменной pointer
*pointer = 10; // ячейка памяти, адрес которой хранится в pointer, 
//теперь содержит число 10
delete pointer; // освобождение памяти. Больше эта ячейка не доступна
cout << *pointer; // ошибка! После того, как память была возвращена
// системе, больше этим значением указателя пользоваться нельзя.
Knightt
5 / 5 / 2
Регистрация: 09.02.2010
Сообщений: 11
13.02.2010, 17:24     объясните код #11
я так понимаю, что указатель на А ( типа int), будет выглядеть так
C++
1
2
int A;
int * ptr = &A;
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.02.2010, 17:27     объясните код #12
Knightt:
Правильно понимаешь.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 18:25  [ТС]     объясните код #13
C++
1
2
3
4
int *p=0;
*p=new int;
*p=222222;
cout<<p;
как смотреть адрес переменной П?
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
13.02.2010, 18:39     объясните код #14
C++
1
cout<<p;
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 18:43  [ТС]     объясните код #15
PointsEqual, почему я если так ввожу пишет только цифры а если
Cout<<&p; то цифры и буквы....

Добавлено через 37 секунд
PointsEqual, мне нужен адрес
Цитата Сообщение от МедведЪ Посмотреть сообщение
222222;
этого
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9384 / 5434 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
13.02.2010, 18:43     объясните код #16
МедведЪ, да вот как-раз так, как ты и написал
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main(){
    int *p = new int;
    *p = 22222;
    std::cout << "Value: " << *p << "\tAddress: " << p << std::endl;
    delete p;
    return 0;
}
Вывод:
Код
$ ./val_and_addr 
Value: 22222	Address: 0x8a46008
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1145 / 427 / 19
Регистрация: 23.06.2009
Сообщений: 6,154
Завершенные тесты: 1
13.02.2010, 18:51  [ТС]     объясните код #17
easybudda, ладно...теперь если не написать delete то 22222 будет в памяти да?даже после закрытии проги....так?

Добавлено через 3 минуты
а как сделать чтобы прочесть значение из адреса которого ввожу....
C++
1
2
3
int *p=new int;
*p=&00035518;//здесь цифра 22222
cout<<p;
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
13.02.2010, 19:03     объясните код #18
C++
1
cout<<*p;
Добавлено через 28 секунд
Цитата Сообщение от PointsEqual Посмотреть сообщение
C++
1
cout<<*p;
рызыменовывание

Добавлено через 5 минут
на 207 странице говорится- указатель- это переменная, хранящая адрес, значит p-адресс а *p-значение хранящееся по адресу p
SunDrop
 Аватар для SunDrop
386 / 226 / 5
Регистрация: 09.12.2009
Сообщений: 668
13.02.2010, 19:09     объясните код #19
Цитата Сообщение от kazak Посмотреть сообщение
Не знаю как у автора этой книжки, а у меня ни мой мозг, ни компилятор такуюю конструкцию не воспринимают.)
Аналогично...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2010, 19:19     объясните код
Еще ссылки по теме:

C++ Объясните код
Объясните код C++
C++ Объясните код
Объясните код C++

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

Или воспользуйтесь поиском по форуму:
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
13.02.2010, 19:19     объясните код #20
Цитата Сообщение от МедведЪ Посмотреть сообщение
new *pointer=int a;//создается указатель на А
может я слепой, но не мог бы ты написать страницу с етой записью а то я такой строчки найти не могу.
Yandex
Объявления
13.02.2010, 19:19     объясните код
Ответ Создать тему
Опции темы

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