И потом выбирать строки, подставляя нужный индекс в нулевое измерение массива, выбирая таким образом язык. Зачем нужен класс? Возможно, в процесе разработки встанут новые задачи, удобно все это инкапсулировать в классе. Но пока выгода и правда неясна.
Разумеется, можно и без класса обойтись. Я так и писал с самого начала, сделать 2-х мерный массив
И потом выбирать строки, подставляя нужный индекс в нулевое измерение массива, выбирая таким образом язык. Зачем нужен класс? Возможно, в процесе разработки встанут новые задачи, удобно все это инкапсулировать в классе. Но пока выгода и правда неясна.
Я к тому, что перевод в латиницу и перевод в нормальный язык, это две абсолютно разные вещи. Вы ведь не будете использовать в разных проектах один и тот-же текст перевода, что в свою очередь сводит к нулю весь смысл затеи.
Ну как-то при каждом получении строки создавать массивы на стеке... не очень красиво и быстро. Это ведь рантайму придется копировать участки памяти из областей строковых констант, где изначально хранятся эти строки, в область стека. А если это килобайты или больше?
Это я сужу, как бы это было бы реализовано компилятором С++. В свое время много возился с отладкой/оптимизацией С++ кода на языке ассемблера. Могу предположить, что и в MQL сделано примерно так же.
Vitaly Muzichenko: Я к тому, что перевод в латиницу и перевод в нормальный язык, это две абсолютно разные вещи. Вы ведь не будете использовать в разных проектах один и тот-же текст перевода, что в свою очередь сводит к нулю весь смысл затеи.
А у нас тут мозговой штурм, можем и какую-нибудь Кортану с подружкой Сири присобачить ))
На самом деле, на форуме так редко встречаются интересные технические темы, что иногда хочется порассуждать о вариантах.
Пожалуй, надо открыть ветку по созданию граального индикатора с нуля, растрясти народ после мрачной зимы ))
Ну как-то при каждом получении строки создавать массивы на стеке... не очень красиво и быстро. Это ведь рантайму придется копировать участки памяти из областей строковых констант, где изначально хранятся эти строки, в область стека. А если это килобайты или больше?
Это я сужу, как бы это было бы реализовано компилятором С++. В свое время много возился с отладкой/оптимизацией С++ кода на языке ассемблера. Могу предположить, что и в MQL сделано примерно так же.
На самом деле сколько раз за всю программу будут дёргаться из массива строки? До двух десятков обращений за раз. Не более.
Правда удобство будет если количество элементов во втором измерении не более 10 или 20 - иначе банально слова будут вылезать за экран и будет сложно вносить правки и поддерживать синхронность фраз на разных языках.
Правда удобство будет если количество элементов во втором измерении не более 10 или 20 - иначе банально слова будут вылезать за экран и будет сложно вносить правки и поддерживать синхронность фраз на разных языках.
Тогда можно по первому измерению фразу, по второму язык. Еще можно в столбик записывать и нумеровать.
В конструкторе никакие массивы нельзя проинициализировать одной строкой типа
Можно только поэлементно
Но можно задать начальные значения массивам с модификатором static или const static. Пример:
А какой в этом смысл, почему не сделать проще, и ничего не усложнять? Я чего-то не понимаю...
Разумеется, можно и без класса обойтись. Я так и писал с самого начала, сделать 2-х мерный массив
И потом выбирать строки, подставляя нужный индекс в нулевое измерение массива, выбирая таким образом язык. Зачем нужен класс? Возможно, в процесе разработки встанут новые задачи, удобно все это инкапсулировать в классе. Но пока выгода и правда неясна.
А вот такой класс сделал:
Разумеется, можно и без класса обойтись. Я так и писал с самого начала, сделать 2-х мерный массив
И потом выбирать строки, подставляя нужный индекс в нулевое измерение массива, выбирая таким образом язык. Зачем нужен класс? Возможно, в процесе разработки встанут новые задачи, удобно все это инкапсулировать в классе. Но пока выгода и правда неясна.
А вот такой класс сделал:
Ну как-то при каждом получении строки создавать массивы на стеке... не очень красиво и быстро. Это ведь рантайму придется копировать участки памяти из областей строковых констант, где изначально хранятся эти строки, в область стека. А если это килобайты или больше?
Это я сужу, как бы это было бы реализовано компилятором С++. В свое время много возился с отладкой/оптимизацией С++ кода на языке ассемблера. Могу предположить, что и в MQL сделано примерно так же.
Я к тому, что перевод в латиницу и перевод в нормальный язык, это две абсолютно разные вещи. Вы ведь не будете использовать в разных проектах один и тот-же текст перевода, что в свою очередь сводит к нулю весь смысл затеи.
А у нас тут мозговой штурм, можем и какую-нибудь Кортану с подружкой Сири присобачить ))
На самом деле, на форуме так редко встречаются интересные технические темы, что иногда хочется порассуждать о вариантах.
Пожалуй, надо открыть ветку по созданию граального индикатора с нуля, растрясти народ после мрачной зимы ))
Ну как-то при каждом получении строки создавать массивы на стеке... не очень красиво и быстро. Это ведь рантайму придется копировать участки памяти из областей строковых констант, где изначально хранятся эти строки, в область стека. А если это килобайты или больше?
Это я сужу, как бы это было бы реализовано компилятором С++. В свое время много возился с отладкой/оптимизацией С++ кода на языке ассемблера. Могу предположить, что и в MQL сделано примерно так же.
А может просто? Двухмерный массив, в первом измерении язык, во втором фраза, константы:
А может просто? Двухмерный массив, в первом измерении язык, во втором фраза, константы:
Тоже неплохо. Вот так будет компилироваться:
Правда удобство будет если количество элементов во втором измерении не более 10 или 20 - иначе банально слова будут вылезать за экран и будет сложно вносить правки и поддерживать синхронность фраз на разных языках.
Тоже неплохо. Вот так будет компилироваться:
Правда удобство будет если количество элементов во втором измерении не более 10 или 20 - иначе банально слова будут вылезать за экран и будет сложно вносить правки и поддерживать синхронность фраз на разных языках.