Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Адреса, адресные операторы

Ответить
Настройки темы
C/C++ - Адреса, адресные операторы

Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


Читаю книгу по С++. Дошел до главы "Первое знакомство с указателями в С++", прочитал, и не понял для чего они нужны? Дальше в книге посмотрел листинги программ и эти операторы там активно используются.

Прошу помощи в объяснении. И во всех ли программах нужно это?

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 21:04, 20-04-2010

 

Аватара для EvgeniyQQQ

Пользователь


Сообщения: 133
Благодарности: 21

Профиль | Сайт | Отправить PM | Цитировать


Могу ещё добавить, что в случае использования ссылок на массив элементов или объект, нет необходимости заботиться об освобождении памяти. А в случае использования указателей, за ней придётся следить

-------
"Не соглашайся ни на что, кроме совершенства!" - Анонимный автор.
"Совершенство достигается только к моменту полного краха." - К.Н.Паркинсон.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:46, 22-04-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


Я в шоке О_о...
El Scorpio - спасибо большое

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 13:53, 22-04-2010 | #12


ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Medic84, вникай.
Без понимания того,*что есть указатель (маленькая цифра, говорящая процессору "информация лежит вон там"), дальше книги по С++ читать бесполезно.
Особенно потому, что во многих "умных" книгах авторы используют заумные слова вроде "разыменование указателя", которые ни черта не способствуют пониманию смысла программы.

И*ещё. Очень часто в "умных" книгах используются очень глупые примеры работы со строковыми значениями.
Точнее говоря, в C++ вообще нет встроенного типа данных "строка" - есть только символ (char). А "строка" - это не более,*чем массив символов, заканчивающихся нулём. И не тем нулём, который символ '0', а нулевым символом (может обозначаться,*как символ '\0' - юниксоиды поймут).
Посему*в книгах чаще всего используют "простые примеры" с типами данных "указатель на символ" (char *). Данный указатель содержит в себе лишь адрес первого элемента массива символов. Однако одна интересная особенность большинства сред разработки - изображать данные указатели,*как текст, на который они указывают - вводит начинающих программистов в заблуждение.

Посему первое правило начинающего программиста - никогда не использовать char*.
Если нужны строки - лучше использовать соответствующие классы-оболочки (сложные типы данных, скрывающие большинство действий в своих функциях) - string, AnsiString, CString и так далее. Использование объектов этих типов позволяет упростить работу со строками в 9000 раз.
Я не шучу - в С++ при работе с символьными массивами программисту приходится использовать десятки функций, половина из которых легко могут привести к критическим сбоям в работе программы, и самостоятельно выполнять работу по выделению/освобождению памяти в "куче". Даже опытные кодеры предпочитают использовать char* только там, где требуется наивысшая производительность

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:07, 23-04-2010 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Адреса, адресные операторы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Мобильные операторы 2.0 OSZone Software Новости программного обеспечения 0 04-04-2010 14:30
PowerShell - [блог] Регулярные выражения – Операторы -replace и -split Xaegr Скриптовые языки администрирования Windows 0 18-12-2009 19:30
Операторы мобильной связи и тарифы Ser6720 Мобильные ОС, смартфоны и планшеты 17 10-09-2009 16:07
Операторы сотовых телефонов! wolf Мобильные ОС, смартфоны и планшеты 71 29-05-2004 18:00
Есть ли в России операторы стандарта CDMA? Yustus Мобильные ОС, смартфоны и планшеты 17 07-02-2003 09:42




 
Переход