Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256

Warning: preg_match(): Compilation failed: invalid UTF-8 string at offset 7 in /var/www/public/sources/lib/posts_topic.php on line 1256
VPF::Указатели - Форум программистов
Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатели 
:(
    Опции темы
mr.Anderson
Дата 2.8.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Для чего нужны указатели и как ими пользоваться? В каких случаях нужно их использовать, а в каких - нет?

P.S. Я этот вопрос задал не от того, что не искал. У меня есть учебник по C++, но там об этом ничего не написано.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
gepard
Дата 2.8.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Два указателя: на память(хранит адрес) и на значение. Нужны для того, чтобы указывать smile


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
mr.Anderson
Дата 2.8.2005, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Гениально. smile Я, разумеется, все понял. smile
А понормальней объяснить можно? Пример привести можете? (особенно желательно пример работы со строками с применением указателей).

Это сообщение отредактировал(а) sim7 - 2.8.2005, 16:37


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
ManiaK
Дата 2.8.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

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



В поиск батенька, в FAQ здешнее. Всё уже давно описано.
PM MAIL WWW   Вверх
mr.Anderson
Дата 2.8.2005, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



У меня почему-то FAQ вашего сайта не отображается. smile Я там пробовал лазить. У меня вообще нет списка статей и страниц... Пробовал разные браузеры, не могу зайти.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
comcon1
Дата 2.8.2005, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

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



Пользоваться так:
Код

int a = 45;
int *ptr = &a; // взять адресс
(*ptr) += 5;   // получить из адресса a=50
cout << *ptr << endl; 

Если указатель на начало массива:
Код

int *a = (int*)malloc(100); // выделение памяти под массив из 50 элементов
for (int i=0; i<50; ++i)
  a[i] = random(34);
*(a+12) += 5; // обращение к 7-му элементу массива
//.....
free(a); // освобождение памяти




--------------------
PM MAIL   Вверх
mr.Anderson
Дата 2.8.2005, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



А можете привести пример работы со строками?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
kometa_triatlon
Дата 2.8.2005, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



sim7
Указатель на что-то нужен чтобы с этим чем-то работать. Проход по массиву тебе уже показали, часто используются при работе с объектами, при передаче параметров по указателю и т.д., то есть чтобы не тратить лишнюю память. Учись дальше и все поймешь, твой вопрос из разряда "зачем нужны массивы"...


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

--------------
Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым.
PM MAIL ICQ   Вверх
ManiaK
Дата 2.8.2005, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

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



http://forum.vingrad.ru/index.php?showtopi...3;\.\.
Сомневаюсь, что поиск у вас тоже не работает.
PM MAIL WWW   Вверх
mr.Anderson
Дата 2.8.2005, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Спасибо. smile Поиск работает. smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
CoreDumped
Дата 2.8.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну конечно всё что нельзя сделать без указателей можно сделать при помощи переменных ссылок. Кстати в дочернем языке от микрософт с# нет указателей.
Ну а так можно отметить что функция в языке с или с++ возвратить может только одну переменную и что делать если таких переменных две, три, пять... сто...? Правильно использовать указатели (ну или ссылки). А после выполнения функции использовать указатель как надо. вот пример:
Код

#include <iostream>
using namespace std;
int itos(int num, char * str);
int main (void)
{
      int n=12345;
      int c;
      char * s = new char[10] ;
      c=itos(n,s);
      for(int i=0; i<=c; i++)
      {     
          cout << s[i] << '\n';
      }
      delete s;
      return 0;
}
int itos(int num, char * str)
{
      itoa(num,str,10);
      return srlen(str);
}

Кстати библиотека stl ох как не может существовать без указателей. Ведь итераторы в приметивном своём виде это и есть указатели (ну а не в приметивном классы smile )

Это сообщение отредактировал(а) CoreDumped - 3.8.2005, 08:07
PM MAIL   Вверх
ManiaK
Дата 2.8.2005, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

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



Цитата(CoreDumped @ 2.8.2005, 18:18)
Кстати библиотека stl ох как не может существовать без указателей.

Ни одна серьёзная библиотека/программа/функция даже не может существовать без указателей.
PM MAIL WWW   Вверх
comcon1
Дата 2.8.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

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



Залезь в соседнюю тему, где чувак корячится с двухмерным массивом. Посмотри, как он обращается к элементам, и как я.


--------------------
PM MAIL   Вверх
Chaos A.D.
Дата 3.8.2005, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если все еще остались темные пятна в использовании указателей, почитай мою, хм, "статью" тут. Писал я её давно. На тот момент у меня за плечами не было и полугода программирования. И поэтому сейчас можно очень много всего добавить и подправить. Об одних только указателях на функции-члены и приведении типов в стиле C++ можно столько понаписать.. Но тебе, как начинающему, хватит.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest
PM MAIL   Вверх
LPBOY
Дата 3.8.2005, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

если где соврал, не бейте сильно, а просто поправьте.

Chaos A.D., статья отличная, но есть парочка неточностей...


Цитата

Кстати, можно написать и так :
int &r = 12;
Тут не будет ошибки...

По Стандарту здесь ошибка. Все что ты расписал ниже(в статье) относится скорее к const int & r = 12;

Кстати тут мне вспомнился очень поучительный пример:
Код

const int ci = 7; 
const int* pci = &ci;
const int* &rpc = &ci;//выдает ошибку


,но

Код

const int ci = 7; 
const int* pci = &ci;
const int * const & rpc = &ci; //все ok


Цитата

const_cast – обеспечивает приведение типов, которое снимает или устанавливает константность у объекта. И не только константность...

ИМХО, только снимает, но не устанавливает константность.

Это сообщение отредактировал(а) LPBOY - 3.8.2005, 12:24
--------------------
Каждый человек по-своему прав, а по-моему нет...
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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