Данные через указатели

 

Доброго времени суток.

Подскажите кто знает как передавать данные для функции через указатели.

Пример

void f1 (int* v0, double* v1) 

{

..........

.............

Заранее благодарю. 

 

Только по ссылке (Формальные параметры).

Параметры простых типов передаются по значению, то есть изменения соответствующей локальной переменной такого типа внутри вызываемой функции никак не отразится в вызывающей функции. Массивы любых типов и данные типа структур всегда передаются по ссылке. Если необходимо запретить изменение массива или содержимого структуры, параметры этих типов должны быть объявлены с ключевым словом const.

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

Смотрите кроме того Когда нужно использовать указатели в MQL5

 
Rosh:

Только по ссылке (Формальные параметры).

Смотрите кроме того Когда нужно использовать указатели в MQL5

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

Но синтаксис какой то мне кажется не совсем удачный, отправляем в функцию значение переменной pTest(ii), а в итоге оказывается что оно изменилось. Почему нельзя было сделать как в си++, когда в функцию отправляется именно указатель.

 

void pTest(int& i){ i++;}

//--

int OnInit()
  {

   int ii=1; pTest(ii); Print("ii=",ii);


   return(0);
  }