Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатели 
:(
    Опции темы
Kurganec
Дата 28.1.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 6.6.2008
Где: СПБ

Репутация: нет
Всего: нет



Цитата(WolfAlone @ 28.1.2009,  14:19)
и чё-то там ещё! 

улыбнуло  smile 
PM MAIL ICQ Skype   Вверх
GoldFinch
Дата 28.1.2009, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Цитата(WolfAlone @  28.1.2009,  14:19 Найти цитируемый пост)
Я знаю: ..., Pascal, Basic, PHP, ASM немного, и чё-то там ещё! Может быть конечно не на уровне супер-профессионала, но на достаточно высоком уровне.

на крайне низком уровне ты их знаешь, и само программирование тоже
подозреваю что такие структуры как списки и деревья, которые обычно реализуются через указатели, тебе неизвестны
PM MAIL ICQ   Вверх
WolfAlone
Дата 28.1.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



russians, спасибо мил человек, век не забуду! Теперь я вроде как понял, шо такое указатели и для чего они нужны. Думаю, практика быстро исправит сложившееся недоразумение  smile . Кажется теперь я уже въезжаю и в то, что такое ссылки и нахнер нужны они! Ещё раз спасибо! С функциями malloc, calloc, realloc, free, delete/new - я знаком, просто покачто не нашёл им практического применения. Теперь думаю, найду! smile .

Остался ещё небольшой вопрос.

Вот мы выделили 4 (или не 4  smile ) байта памяти:
Код

int *i=new int;

сделали на него указатель... Судя по написанному в руководстве, функция new int - должна была вернуть мне адрес выделенной памяти, а она мне почему-то возвращает TRUE, видимо по тому, что память удалось выделить, при это ещё выдает такое предупреждение.
warning C4800: 'int *' : forcing value to bool 'true' or 'false' (performance warning).

Что я не так сделал?


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Lazin
Дата 28.1.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



 smile
PM MAIL Skype GTalk   Вверх
WolfAlone
Дата 28.1.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



GoldFinch, вы совершенно правы! Когда я сдавал зачеты по информатике в школе, ещё на агатах - ни я, ни преподаватели информатики, ни видимо сами АГАТы не слышали про такие структуры как деревья и списки - ничего не слышали! Бывает же такое...  smile 

А вообще, я не утверждаю, что я знаю всё на 5+, но всё выше мною указанное на твёрдое 4 - сдал. В PHP и CSS как ни странно я покачто тоже ничего не слышал про указатели, хотя возможно в них покачто небыло необходимости! Да, и в HTML мне тоже не удалось обнаружить указателей.  smile 


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
GoldFinch
Дата 28.1.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



WolfAlone, CSS и HTML - не языки программирования
в PHP есть оператор разыменовывания $, через него там указатели и реализуются

подозреваю что ваши преподаватели информатики и не такое знали, только вам это не говорили ибо бесполезно

в самом деле, почитайте чтонить из теории,  например чтонить типа "алгоритмы и структуры данных" Вирта
PM MAIL ICQ   Вверх
Goliaf777
Дата 28.1.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



У нас преподователи информатики в школе 3 года учат как включать компьютер и запускать ворд а остальные годы как выключать компьютер и закрывать ворд. Так что я подумал лучше буду изучать сам чем эти паскали и бейсики,  которые сами преподающие незнают. А вот как посоветовл уважаемый russians тебе стоит почитать С.Прата Язык программирования С++. Лекции и упражнения. Главное понять зачем это нужно, как было сказано выше это позволяет экономить пямять что важно, но не менее важно гибко управлять ею.
PM MAIL ICQ Skype Jabber   Вверх
WolfAlone
  Дата 28.1.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



При всём желании, облазив весь PHP.ru - так и не нашёл, ничего похожего на указатель. Точнее будет сказать, слово указатель там конечно присутствует, но в отличии от С++ - в PHP это абстрактное понятие, и в классическом смысле этого слова их там всё же нет. Но давайте всё-таки вернёмся к теме, ведь разговор не о том, есть ли указатели в php или нет. С указателями я наконец-то разобрался, со ссылками кажется тоже въехал что, куда и зачем. Получилось, как обычно "а ларчик просто открывался"... Всем спасибо, думаю тему можно закрывать!

А Вам, уважаемы, Goliaf777, хочу высказать искреннюю благодарность! По крайней мере хотя бы за человеческое отношение. Так же выражаю огромную благодарность всем остальным, пытающимся помочь мне с моими глупыми на их взгляд вопросами.

P.S. Люди, будьте друг к другу более снисходительны! Ведь все мы когда-нибудь встретимся в другом мире... По сути дела все мы родились от одной матери, и у нас и без того врагов хватает! Так не будем восставать против братьев своих по разуму и всему остальному!  smile 


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
pan2004
Дата 28.1.2009, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



WolfAlone, указатели обычно используют в следующих случаях:
1. Когда необходимо установить физические связи между отдельными объектами. Например, создать такие структуры как списки, разнообразные деревья и графы без использования указателей довольно сложно.
2. Для доступа к памяти в области "кучи"(heap) можно только через указатели.
3. Для создания массива заранее неизвестного размера:
char* myStr = new char[len];
4. Для изменяемых аргументов функций - хотя чаще используют здесь ссылки, тк проще.
5. Надеюсь ничего особого не забыл...


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
WolfAlone
Дата 28.1.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



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


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
pan2004
Дата 28.1.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



6. Да и в Сиплюс плюс - для реализации динамического полиморфизма(заумно, но это когда указателю на базовый класс присваивается объект производного класса. Если теперь через этот указатель вызвать виртуальный метод, то он будет вызван у производного класса. Так, одна  функция может, принимая указатель на Base, вызывать методы любого из Derived классов, в зависимости от конкретного типа передаваемого в эту функцию объекта.)


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
GoldFinch
Дата 28.1.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



указатели нужны чтобы хранить адрес куска памяти
вот собственно и все их назначение и применение
PM MAIL ICQ   Вверх
mes
Дата 28.1.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(GoldFinch @  28.1.2009,  17:55 Найти цитируемый пост)
указатели нужны чтобы хранить адрес куска памяти
вот собственно и все их назначение и применение 

 smile для размышления:
GoldFinch,  адрес куска памяти можно хранить и в int`e. Так зачем тогда указатели ?   smile 


--------------------
PM MAIL WWW   Вверх
Goliaf777
Дата 28.1.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



mes  Потому-что над указателями дйствует (что весьма важно) другая арифметика,

Добавлено через 1 минуту и 53 секунды
И совсем другие возможности, что в принципе и делает его следующим типом.

Это сообщение отредактировал(а) Goliaf777 - 28.1.2009, 19:24
PM MAIL ICQ Skype Jabber   Вверх
GoldFinch
Дата 28.1.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



mes, я както привык мыслить категориями асма, для меня что "указатель", что int  - все dword

Это сообщение отредактировал(а) GoldFinch - 28.1.2009, 19:32
PM MAIL ICQ   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1484 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.