пример1
у нас есть некая функция которая производит складывание двух параметров и выдаёт сумму в третий параметр.
void Symma(int a,int b, int symma);
{
summa = a+b;
}
использовать в программе её будем следующим образом
int a=10;
int b=30;
int Su=0;
Symma(a,b,Su)
cout<<Su;
в результате мы получим Su=0;
а почему? да потому что происходит копирование параметра в функцию и на исходные значения это не влияет. это лечиться указателем. В функцию передаётся не параметр а указатеь на параметр и функция работает с параметром который хранится под данным указателем
void Symma(int a,int b,int *Summa)
{
&Summa=a+b;
}
пример 2
у нас есть некая функция которая работает со структурой и производит какие-то вычисления
struct Massiv
{
float a,b,afg,tyh,f,uj,ku,gh, // и т. д.
}
ште MultiMassiv(Massiv a)
всё работает. Но что происходит в ядре происходит полное копирование всех элементов структуры в функцию. А если структура большая то это привидёт к большим потерям производительности. поэтому используют указатель структуру который в отличии от самой структуры значительно проще копируется.
Другие языки программирования и технологии
Указатели в С++ Для чего нужны? Объясните понятным языком. если можно с примерами, пожалуйста.
Учебников по C++ в сети полно. Пожалуйста, приведи фрагмент из учебника, который ты прочитала, и спроси, что именно тебе там непонятно. А то мы ведь не знаем, какой язык для тебя понятный - может, тебе надо с 1-го класса про натуральные числа объяснять...
Похожие вопросы
- Что такое дискриптор в С++? Обьясните пожалуйсто на понятном языке, и если можно то приведите примеры.
- Что такое восстановление системы? Объясните мне пожалуйста понятным языком
- объясните пожалуйста, по какому принципу работает Паскаль, на более простом и понятном языке?!
- Выручайте! Нужно на понятном языке объяснить ( с картинками) по css, а кокретно обсалютное позиционирование
- что такое конъюнкция. просьба объяснять понятным языком и с примером
- Объясните понятным для меня языком,
- Здравствуйте! Вы не можете мне объяснить ПОНЯТНЫМ для смертного человека, как я, языком: Что такое РЕЕСТР?? ? Спасибо!
- Недавно изучали тему по программированию "Массивы". Кто может "понятным" язык объяснить, что это такое?
- Как раскрутить сайт ?? на понятном языке пожалуйста!:)
- Объясните нормальным языком!
void Symma(int a,int b,int *Summa)
{
&Summa=a+b;
}
а не так:
void Symma(int a,int b,int *Summa)
{
*Summa=a+b;
}
?
Мне казалось, что символ & должен здесь обозначать адрес самого указателя. А на самом деле он позволяет работать со значением, записанным по адресу, который содержится в указателе?
Извините, что встреваю в чужой вопрос. Просто тема указатели для меня тоже была сложной, и тут выясняется, что у меня в голове что-то неправильно уложилось.