- Alert
- CheckPointer
- Comment
- CryptEncode
- CryptDecode
- DebugBreak
- ExpertRemove
- GetPointer
- GetTickCount
- GetTickCount64
- GetMicrosecondCount
- MessageBox
- PeriodSeconds
- PlaySound
- PrintFormat
- ResetLastError
- ResourceCreate
- ResourceFree
- ResourceReadImage
- ResourceSave
- SetReturnError
- SetUserError
- Sleep
- TerminalClose
- TesterHideIndicators
- TesterStatistics
- TesterStop
- TesterDeposit
- TesterWithdrawal
- TranslateKey
- ZeroMemory
GetPointer
Возвращает указатель объекта.
void* GetPointer(
|
Параметры
anyobject
[in] Объект любого класса.
Возвращаемое значение
Возвращает указатель объекта.
Примечание
Только объекты классов имеют указатели. Экземпляры структур и переменные простых типов указателей не имеют. Объект класса, который не создан при помощи оператора new(), а например, автоматически созданный в массиве объектов, все равно имеет указатель. Только этот указатель будет иметь автоматический тип POINTER_AUTOMATIC, и к нему нельзя применить оператор delete(). В остальном указатель типа ничем не отличается от динамических указателей типа POINTER_DYNAMIC.
Так как переменные типа структур и простых типов не имеют указателей, то применять к ним функцию GetPointer() запрещено. Также запрещается в качества аргумента функции передавать указатель. Во всех перечисленных случаях компилятор сообщит об ошибке.
Попытка к обращения к некорректному указателю приводит к критическому завершению программы. Поэтому существует необходимость использования функции CheckPointer() перед использованием указателя. Указатель может быть некорректным в следующих случаях:
Данную функцию можно использовать как проверку указателя на корректность. Значение, отличное от нуля, гарантирует, что по этому указателю можно получить доступ к данным.
Пример:
//+------------------------------------------------------------------+
|
Смотри также
Указатели объектов, Проверка указателя объекта, Оператор уничтожения объекта delete