Разработки по массивам. Если что-то вам приглянётся пишите на vmastich@inbox.ru или в ЛК.
Первая рубрика, это функции которые позволяют находить размер и ранг динамического массива. Также этому правилу подчиняются и массивы mql4, специфику показываю в видео.
Если вы передаёте массивы в свои функции и не хотите передавать лишние параметры в функции, то данные функции будут вам очень полезны.
Нахождение размера.
Пример вы объявили обычную переменную
Код:
int Q=(int)new int[10];
Далее вы передаёте этот объект как число и получаете размер функцией которую я вам предлагаю.
Нахождение ранга.
Предположим вы собрали многомерный динамический массив такого вида
[2][3][4][5]
и запихнули его в переменную Q, далее вы передали переменную в функцию, и вам нужно узнать что ранг у этого массива равен 4ём. Вы вызываете функцию и получаете ранг из переменной Q.
Найти размер статического массива нельзя его можно только посчитать. В своих материалах я показываю как это сделать. Как показывает практика на моём опыте динамические массивы используются в 85% случаях. Что касается ранга статического массива, то статический массив со всеми своими данными и параметрами лежит в одном блоке, следовательно получить и посчитать ранг статического массива тоже не получиться. Но позже будут разработаны функции которые будут имитировать статические одноконтурные массивы.
Отправляя вам код с функциями, я отправлю вам видео, на чём основаны мои расчёты. Если вы не поленитесь, то на этих прототипах сможете сделать много интересных функций.
Прошу обратить внимание мои типы данных занимают памяти как на этом ресурсе т.е. откалиброваны очень тонко. Если что-то не получается пишите.
Рубрика2.
Предлагаю вам несколько функций для работы с динамическими/многоконтурными массивами, позже будет имитировано такое со статическим массивом.
1ая может создавать массив любого ранга, прописывая и выделяя память на все размеренности. Пример вам нужно создать дин. массив massiv[2][3][4][4][10], вы помещаете данные в одномерный массив описатель int opisat[]={5,2,3,4,4,10}, далее вы передаёте 2 указателя в функцию, она это переваривает и собирает вам 5ый массив.
2ая может выводить все столбцы или информацию по нужной размеренности.
3яя разрушает такой массив полностью, имеется в виду все размеренности.
Последние выводят единичные параметры: возвращают значение, присваивают его и т.д. В них вы передаёте массив любого ранга и можете управлять этим делом в цикле в ходе выполнения программы.
Я в видео кратко показал, как это работает. Если видео будет удалено (потому что я попадал в ситуации когда каналы блокировали) то напишите мне я отправлю вам его на почту.
Здравствуйте, Gaxis, Вы писали:
G>Разработки по массивам. Если что-то вам приглянётся пишите на vmastich@inbox.ru или в ЛК.
G>Нахождение размера. G>Пример вы объявили обычную переменную G>Код:
int Q=(int)new int[10];
G>Далее вы передаёте этот объект как число и получаете размер функцией которую я вам предлагаю.
Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
в C++ варианте все освобождения памяти будут автоматические
Делайте так ради Бога. Я собрал функции которые способны эти массивы создавать и разрушать. Есть функция которая может менять ранг. Но их пока мало сделаю будет больше.
Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Loksiin12, в ролике был намёк, что это всё можно приобретать. Уверяю — приобретать в текущем виде никто не будет. Одномерный стандартный вектор в основе — это минимальное условие (но не последнее)
Как вы хотите чтобы было? Опишите ваши условия идеи, мне будет над чем подумать.
ps: Одесса? Был у меня коллега, весной французскими духами тамошними в Москве торговал..
_>ps:Здравствуйте, pilgrim_, Вы писали: _>ps: Одесса? Был у меня коллега, весной французскими духами тамошними в Москве торговал..
Я зарегистрировался на форумах, спросил разрешение у администрации могу ли я предлагать свои разработки мне дали этот раздел. Я разместил свою тему. Если вам есть что сказать пишите нормально.
Здравствуйте, Gaxis, Вы писали:
_>>ps:Здравствуйте, pilgrim_, Вы писали: _>>ps: Одесса? Был у меня коллега, весной французскими духами тамошними в Москве торговал.. G>Я зарегистрировался на форумах, спросил разрешение у администрации могу ли я предлагать свои разработки мне дали этот раздел. Я разместил свою тему. Если вам есть что сказать пишите нормально.
Не обижайся, может для тебя то что ты предлагаешь выглядит нормой, но на мой взгляд это выглядит продажей воздуха, сорян если неправ, но выглядит именно так.
Ну а штуки вида
>int Q=(int)new int[10];
конечно могут работать, но в последнее время все реже и реже (hint: x64)
ps: мне доводилось работать с компиляторами, где int мог быть: 2 либо 4 байт, как настроишь
_>>>ps:Здравствуйте, pilgrim_, Вы писали: _>>>ps: Одесса? Был у меня коллега, весной французскими духами тамошними в Москве торговал.. G>>Я зарегистрировался на форумах, спросил разрешение у администрации могу ли я предлагать свои разработки мне дали этот раздел. Я разместил свою тему. Если вам есть что сказать пишите нормально.
_>конечно могут работать, но в последнее время все реже и реже (hint: x64) _>ps: мне доводилось работать с компиляторами, где int мог быть: 2 либо 4 байт, как настроишь
Я указал про то что у меня типы занимают столько-то столько-то. Поэтому тут надо смотреть либо статически настраивать либо универсальные расчёты делать. Также в видео я про это говорю что нужно 4 байта для загрузки указателя. так что тут нужно смотреть будет нужда финансовая поддержка сделаю. Вы меня ни чем не удивили.
Здравствуйте, Gaxis, Вы писали:
G>Также в видео я про это говорю что нужно 4 байта для загрузки указателя. так что тут нужно смотреть будет нужда финансовая поддержка сделаю. Вы меня ни чем не удивили.
Эх коллега, тут я сдаюсь, сори.
ps: на всякий случай, здесь обитают в основном практикующие разработчики
По имейлу гуглится, что топикстартер — 18-летний житель Белоруссии.
Видео опубликовано под псевдонимом — это правильно, под своим именем такую стыдобу публиковать нельзя.
Названия функций и переменных, конечно, поражают воображение.
Хрен бы догадался, что такое SosdDAr, не услышав об этом в начале видео (для ленивых -- "создать динамический array").
Нескромный вопрос, если позволите -- вы в разработке реальных проектов участвовали?
Здравствуйте, Gaxis, Вы писали:
_>>ps:Здравствуйте, pilgrim_, Вы писали: _>>ps: Одесса? Был у меня коллега, весной французскими духами тамошними в Москве торговал.. G>Я зарегистрировался на форумах, спросил разрешение у администрации могу ли я предлагать свои разработки мне дали этот раздел. Я разместил свою тему. Если вам есть что сказать пишите нормально.
G>Пример вы объявили обычную переменную G>Код:
int Q=(int)new int[10];
Что будет, если sizeof(int) не равен размеру указателя?
G>Далее вы передаёте этот объект как число и получаете размер функцией которую я вам предлагаю.
G>Предлагаю вам несколько функций для работы с динамическими/многоконтурными массивами, позже будет имитировано такое со статическим массивом.
Прежде, чем изобретать свои велосипеды, нужно изучить существующие (std::vector и std::array) и понять, чем они не устраивают. А что бы предлагать свои велосипеды другим — нужно сделать их лучше.
Но предлагаются велосипеды из костылей и демонстрируется незнание существующих инструментов и непонимание размеров типов данных и их зависимость от аппаратной платформы.
Здравствуйте, b0r3d0m, Вы писали:
B>Названия функций и переменных, конечно, поражают воображение. B>Хрен бы догадался, что такое SosdDAr, не услышав об этом в начале видео (для ленивых -- "создать динамический array").
B>Нескромный вопрос, если позволите -- вы в разработке реальных проектов участвовали?
Он свою первую лабораторку продать пытается. Как разработчик он скорее всего карьеры не сделает, но вот как продажник...
Здравствуйте, уважаемый Gaxis, Вы писали:
G>Разработки по массивам. Если что-то вам приглянётся пишите на vmastich@inbox.ru или в ЛК. G>Первая рубрика, это функции которые позволяют находить размер и ранг динамического массива. Также этому правилу подчиняются и массивы mql4, специфику показываю в видео. G>Если вы передаёте массивы в свои функции и не хотите передавать лишние параметры в функции, то данные функции будут вам очень полезны.
Прежде всего — пожалуйста, не обижайтесь, но Вы, уважаемый Gaxis, ломитесь в раскрытую дверь
Автор: Николай М. Джосаттис
"Стандартная библиотека C++.Справочное руковод.2изд"
Посмотрите (хотя бы по диогонали) примеры из этой книги.
Кстати — они есть и на сайте издателей: http://cppstdlib.com
В разделе "examples".
P.S. Ещё раз — не обижайтесь, и простите меня и здешних обитателей за наставления,
но предлагать Ваши сегодняшние творения на продажу — это предлагать "осетрину не первой свежести"
P.P.S. Очень хочется надеяться, что Вы, уважаемый Gaxis, найдёте себя в разработке ПО.
Но в первую очередь — подтяните английский! Без знаний английского в этом деле никуда!
Здравствуйте, AleksandrN, Вы писали:
AN>Здравствуйте, Gaxis, Вы писали:
AN>Что будет, если sizeof(int) не равен размеру указателя? AN>Прежде, чем изобретать свои велосипеды, нужно изучить существующие (std::vector и std::array) и понять, чем они не устраивают. А что бы предлагать свои велосипеды другим — нужно сделать их лучше. AN>Но предлагаются велосипеды из костылей и демонстрируется незнание существующих инструментов и непонимание размеров типов данных и их зависимость от аппаратной платформы.
Что касается указателей то я и в начале темы написал про то что мои функции отрегулированы на стандартные типы данных, т.к. основная задача построить специфику, что уже даёт понять что может быть всякое, тут 2 варианта использовать типы данных которые будут помещать указатели что сделает код универсальным либо переписать типы из своей платформы.
Здравствуйте, b0r3d0m, Вы писали:
B>Названия функций и переменных, конечно, поражают воображение. B>Хрен бы догадался, что такое SosdDAr, не услышав об этом в начале видео (для ленивых -- "создать динамический array").
Названия функций вы можете написать свои от этого ничего не измениться.
Здравствуйте, AlexGin, Вы писали:
AG>P.S. Ещё раз — не обижайтесь, и простите меня и здешних обитателей за наставления, AG>но предлагать Ваши сегодняшние творения на продажу — это предлагать "осетрину не первой свежести"
AG>P.P.S. Очень хочется надеяться, что Вы, уважаемый Gaxis, найдёте себя в разработке ПО. AG>Но в первую очередь — подтяните английский! Без знаний английского в этом деле никуда!
Для этого и нужно начинать что-то делать и пробовать себя и получать отзывы. Та что всё это очень хорошо. Что касается английского то как вы знаете разговорный язык никакого отношения к алгоритмам не имеет, и если название переменной помидор вам не нравится можете написать капуста. Также напомню вам о том что регистры процессора могут иметь вообще по одной букве, например название регистра MMVP(примерно, пока на Ассемблере не пишу) и т.д., понятное дело что не расшифруешь если не читать инструкций и не чему не учиться и ничего не практиковать. Я не американец что должен подстраиваться под них. Я русскоговорящий человек, также есть компиляторы которые поддерживают и русские названия так что тут ничего не скажешь.
На данном форуме в основном контингент — взрослые мужики под 40, а не дошкольники.
К сожалению то что Вы выложили — на данный момент примерно на этом уровне — детский сад и позорище.
В любом случае удачи, оптимизма благо Вам не занимать