Войти
ФлеймФорумПрограммирование

Вопросы по C++ (2 стр)

Страницы: 1 2 3 49 Следующая »
#15
20:15, 17 дек. 2009

Народ, если можно просто кратко скажите какой толк от использования Указателей. )) Ато появляются задатки Холивара в этой теме.


#16
20:16, 17 дек. 2009

BlackRaven
> Народ, если можно просто кратко скажите какой толк от использования Указателей.
Никакой. Просто в C++ другого выбора нет(ну разве что "умные указатели", но я про их работу ничего не знаю. Возможно они медленные и не везде применимы.).

#17
20:19, 17 дек. 2009

/facepalm
Как тебе объяснить какой толк, если ты не понимаешь, что такое вообще указатель?
еслиб понимал не спрашивал...

#18
20:21, 17 дек. 2009

Ну я писал что недавно начал изучать С++, поэтому поработать с ним в достаточном количестве не довелось.
Ну ладно, ответа как я понял не получу) поэтому сворачиваюсь) ушёл дальше гуглить)

#19
20:21, 17 дек. 2009

Я понимаю что такое указатель, я не понимаю для чего это, вернее что это сулит

#20
20:23, 17 дек. 2009

Почему лучше(хуже) обращаться к адресу в памяти, а не к самому объекту, вот лишь что я хотел узнать.

#21
20:23, 17 дек. 2009

X512

С каких пор общественный транспорт не авто? Метро разве.

BlackRaven

В принципе вместо указателя в некоторых случаях (отнюдь не во всех) можно было бы использовать массив + индекс массива, но проблема в том, что в c++ массивы определены в стеке и имеют размер, который должен быть известным в момент компиляции.
Указатели же позволяют просто зарезервировать (и когда нужно освобождать) известный объем памяти из кучи динамически, в процессе выполнения программы.
Указатель содержит в себе следующую информацию: тип данных и адрес ячейки с данными, вещь удобная но и опасная, поскольку можно взять не тот тип и не по тому адресу. Кроме того, можно зарезервироввать памать в куче и передать указателю. Если же указатель будет потерян (при выходе из блока например, в котором он определен), то будет и потеряна эта память. Это называется утечкой памяти. Поэтому указатели стараются усовершенствовать, сделать их интеллектуальными, такими, чтоб они перед смертью освобождали и память.

#22
20:27, 17 дек. 2009

BlackRaven
> Почему лучше(хуже) обращаться к адресу в памяти, а не к самому объекту, вот
> лишь что я хотел узнать.
Можно например взять квадратный корень из адреса в Си++! Очень полезная штука.

#23
20:27, 17 дек. 2009

BlackRaven
> Народ, если можно просто кратко скажите какой толк от использования Указателей.

Можно выделить память под что-то один раз и передавать на это что-то указатель в функции - бонусов сразу много, - меньше памяти программа потребляет, быстрее работает за счет отсутствия копирования данных из одного места в другое. Кроме того указатели нужны для реализации концепции полиморфизма в ООП.

#24
20:34, 17 дек. 2009

Отдельная тема - это конечно указатели на функции и их обобщение в с++ - виртуальные функции.

#25
20:43, 17 дек. 2009

X512
> Это очень плохо. Из за них все глюки(или почти все...) программ. Быдлокод
> написать в разы проще.

Зато позволяет писать драйвера и проч. около аппаратный утиль.

#26
20:46, 17 дек. 2009

Спс за ответы, теперь стало всё понятно (в теории, на практике предстоит проерить)

#27
20:49, 17 дек. 2009

oistalker
> Зато позволяет писать драйвера и проч. около аппаратный утиль.
Это обычно пишут на Си. Да и обычные программисты этого не делают.

#28
20:52, 17 дек. 2009

X512
> Да и обычно программисты этого не делают.

Программисты разные бывают, - есть например такая сетевая плата - http://www.elcus.ru/boards.htm (используют военные, в метро, на МКС) - там хоть и есть готовый драйвер, - а все равно без указателей не передашь и не примешь ни байта.

#29
21:47, 17 дек. 2009

BlackRaven
> 1. Скажите пожалуйста, каково практическое значение использования указателей?
> Скорость, памяти меньше пожирает или что там?
Хе хе. Как можно не знать для чего нужны указатели?
Этот мир стоит на трех указателях!

Что можно делать с указателями? Да все! Все что угодно!
1) Передавать в функции большие вещи. Картинки например. Без указателей это сделать почти нереально.
2) Создавать всякие структуры данных. Списки, деревья.
2) Для работы со строками в "стиле С"(это так Страуструп говорит, а не я). Можно много интересных вещей делать.
4) Указатели на функции позволяют строить города.
И еще много много всего!

О. Федор
> Указатель содержит в себе следующую информацию: тип данных и адрес ячейки с
> данными
Почитайте книжку по С, а потом постите сюда.

Указатель содержит только адрес. Только 4 байта(32 bit системы). И не содержит НИКАКОЙ информации о типе.

Страницы: 1 2 3 49 Следующая »
ФлеймФорумПрограммирование