Scriptong пишет:
цитата: |
Какой именно вариант? Если Вы про объект, объявленный статически, то я по нему уже высказался. А насчет того, что кто-то там предложил такой вариант, нужно смотреть полный текст его предложения, чтобы ответить предметно. Ведь очень часто фразы попросту вырываются из контекста. |
|
Именно, про статический объект я и имел ввиду. Больше они ничего предложить не смогли.
Scriptong пишет:
цитата: |
Вот свежий пример вырывания фразы из контекста. Цитируемое Вами относится к рассуждениям о статическом объекте, а не о механизме инкапсуляции в целом. |
|
Нет. Речь как раз-таки идёт о механизме инкупсуляции, а не о статических объектах. Т.к. я опирался на Ваш совет, посмотреть как реализовано у Вас это. Например, проект
VPMA. Так я чётко увидел как у Вас реализованы подобные задачи. Так что вопрос этот как появится энтузиазм - разберу. С первого взгляда с большего понятно, но не привычно.
Scriptong пишет:
цитата: |
К сожалению, поставленные Вами цели для меня до сих пор остаются загадкой. Опишите свою задачу как можно подробнее, без абстракций, на конкретном примере. |
|
Конкретно, есть, структура, элементы которой являются, на данный момент обычными переменными простого типа.
struct Position_Properties
{
datetime gdt_Expiration; // Срок истечения отложенного ордера
datetime gdt_OpenTime; // Время открытия выбранной позиции
double gd_OpenPrice; // Цена открытия
double gd_Lots; // Объём позиции на открытие
double gd_CurSL; // Текущий Stop Loss выбранной позиции
double gd_NewSL; // Новый Stop Loss выбранной позиции
double gd_CurTP; // Текущий Take Profit выбранной позиции
double gd_NewTP; // Новый Take Profit выбранной позиции
int gi_CurTicket; // Тикет выбранного ордера
int gi_Type; // Тип торговой операции
int gi_Slippage; // Максимально допустимое отклонение цены для рыночных ордеров
int gi_Magic; // Магический номер
string gs_Comment; // Комментарий
string gs_Symbol; // Наименование фин. инструмента, с которым производится операция
ulong gu_Duration; // Длительность позиции в секундах
}
Необходимо, чтоб данные члены-элементы:
1. Не зависели от конкретного экземпляра структуры.
2. Данные члены-элементы были надёжно инкапсулированы.
В сервисдеске мне ответили так:
" К сожалению, сделать то, что Вам можно только через макросы:
#define Swap Symbol_Properties::gd_Swap "
Игорь, а Вы что об этом думаете? Дело в том, что по-моему это не вариант. Т.к. подобные дефайны применимы, разве что, в случае, когда члены-элементы структуры будут не массивами. А если иначе, то придётся создавать теоретически огромное количество дефайнов, что, в любом случает, не удобно.