Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Посмотри на Топ сигналов MetaTrader 5. Выбери лучший и подпишись!
Sergey Likho
2468
Sergey Likho 2016.09.19 10:59 

Добрый день. 

Вопрос по основам программирования.

 

Задача: мне нужно сделать указатель или ссылку на переменную. Не знаю какой синтаксис для этой операции. Подскажите!

 

Например, нужно сравнить две переменный, как из них больше. Далее с этой переменной планируется выполнять другие действие.

int a = 1;

int b = 3;

Указатель "С" ;

if (a > b)  Указатель "С" ссылается на переменную "а"

if (a < b)  Указатель "С" ссылается на переменную "b"

 

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

Результат примерно такой Print(*C); Результат 3 

 

В практической работе мне нужно выброть из нескольких структур одну с которой дальше продолжу работать.

Что то похожее я встречал раньше в других языках, но не припомню где.

LRA
317
LRA 2016.09.19 16:40  
serler2:  сделать указатель или ссылку на переменную.
#property strict

class МойКласс
{
public:
  int Число;
};

МойКласс Первый, Второй, Третий;


void OnStart()
{
  Первый.Число=1;
  Второй.Число=2;
  Третий.Число=3;
 
  Alert("Использование указателя");
  МойКласс* pt = GetPointer(Первый); Alert(pt.Число);
            pt = GetPointer(Второй); Alert(pt.Число);
            pt = GetPointer(Третий); Alert(pt.Число);
  
  Alert("Использование Массива");
  МойКласс Массив[3];
  Массив[0].Число=0;
  Массив[1].Число=1;
  Массив[2].Число=2;
  int Индекс=0;  Alert(Массив[Индекс].Число);
      Индекс=1;  Alert(Массив[Индекс].Число);
      Индекс=2;  Alert(Массив[Индекс].Число);
}

  использование указателя на экземпляр класса   или   индекса массива   в данном случае равнозначно

При использовании массива классы окажутся лишними

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий