Может любой буфер? Типа как something.*
Это не ужас. Это указатель на объект типа IndicatorBuffer.
Это не ужас. Это указатель на объект типа IndicatorBuffer.
В том-то и дело, что синтаксис ужасный. Вот, например, я объявляю обычно так указатель на объект:
SymbolInfo *m_symbol;
Тут всё понятно. А в случае выше почему-то символ * находится не перед переменной указателя, а прямо после переменной класса..
А что не так ?
Все верно - функция At() возвращает указатель на базовый класс, а чтобы получить доступ к функции имени - надо иметь указатель на класс IndicatorBuffer, соответственно, производится приведение типов.
Потому-то символ звездочки и находится там, где ему и положено быть - это не объявление переменной указателя, а приведение к нужному типу.
А что не так ?
Все верно - функция At() возвращает указатель на базовый класс, а чтобы получить доступ к функции имени - надо иметь указатель на класс IndicatorBuffer, соответственно, производится приведение типов.
Потому-то символ звездочки и находится там, где ему и положено быть - это не объявление переменной указателя, а приведение к нужному типу.
Хм. Хотите сказать, что я чутка не корректно пишу в этом плане?
Имею ввиду, нужно писать не так:
SymbolInfo *m_symbol;
а так?
SymbolInfo* m_symbol;
И получается, читается это всё так?
"Создаём экземпляр указателя на класс SymbolInfo который будет называться m_symbol". Т.е. SymbolInfo* это указатель, на класс SymbolInfo, а m_symbol экземпляр этого указателя т.е. сам объект класса SymbolInfo.
Верно?
Верно?
Верно то, что вы написали про создание экземпляра класса указателя.
Но, в случае с IndicatorBuffer* - ситуация совсем другая, там ничего не создается, там происходит преобразование указателей.
Вам следует почитать про преобразование указателей. Скажем, в вашем случае указатель m_symbol - это указатель на объект типа SymbolInfo, а его, при необходимости, можно преобразовать, скажем, к указателю на объект CObject:
pObjPointer = (CObject*)m_symbol; // преобразовываем указатель m_symbol к типу указателя на CObject и заполняем этим указателем переменную, созданную выше.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вижу в стандартной библиотеке такое:
Что это за ужас IndicatorBuffer* ?