|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||||||
Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур18.02.2014, 14:05. Показов 6012. Ответов 47
Сабж. Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур или... пободного рода простых для восприятия методов.
Поясню. Пишу базу дынных, используя структуры я могу получить динамически кол-во строк исходя из данных в структуре. Например:
Где заранее будет проинициализированна глобальная переменная типа int, а перед определением самой структуры, я бы написал что например n = 10, j = 30... Ещё интересует вопрос с разнородными переменными, например я вот захочу чтоб в структуре было char[], int, float, WORD типы переменных... Посоветовали юзать тип VARIANT, однако как его юзать, если кол-во бит выделенное для каждого типа переменных - будет различаться... В общем нужен простой подход(в синтаксисе) к данному вопросу. И повторюсь - классы и векторы не предлагать, они слишком сложны в синтаксисе.(переубеждать меня не надо, данная тема не для этого создана).
0
|
|||||||||||
| 18.02.2014, 14:05 | |
|
Ответы с готовыми решениями:
47
Сортировка массивов разного типа Создание массива массивов разного типа переменных Программирование задач с использованием комбинированного типа данных или структур |
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||
| 19.02.2014, 23:09 [ТС] | ||||
|
Ну я всё же работаю с контроллами всякими типа кнопок, списков, эдитов...
Это всё таки программирование, а не администрирование. Формы не нужны для тех кто не является программистом, либо является системным программистом(типа там внутренности копает..) Количество ничего не говорит о качестве, эти 17к разбиты на функции, каждая отвечает за своё действие, всё предельно ясно. Чужой код - если написан без классов и имеет привильно структурированную форму кода, т.е. последовательную, с комментами действий - где это необходимо - нет проблем. Однако зачем копаться в чужом? Я именно из за этого хочу написать саму основу для любых СУБД. Вы просто не можете оценить объём работы которую я сделал, и которую делает программа. Поэтому пропущу ваше замечание.
Это я о том, что пользоваться вашим продуктом могут только те, кто пользуются линухой, а это - только профессионалы ПК. По поводу Qt, его переносимости в Win(имею ввиду, код - написанный под Linux) - не знаю уж как оно в винде будет себя чувствовать. Знаю только обратную сторону, про которую уже говорил, о том что код написанный для Win, уже на линухе будет выдавать ошибки.
По поводу SQL - нет, это не то что мне надо, говорю же я делаю программу шире чем может дать SQL.(по мимо БД, планирую много чего ещё). Вообще точно так же как слово ООП, я слово Базы Данных трактую буквально. Т.е. любой файл - есть база даных, будь это картинкой или txt или чем то ещё. Так что в этом то и весь прикол... я хочу реализовать оболочку для чтения файлов, а то какими алгоритмами будет читаться - это уже ложится на плечи того кто будет с помощью этой программы работать.
0
|
||||
| 20.02.2014, 10:23 | |||||||||
![]() P.S. Мы уже полностью отклонились от темы
0
|
|||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||||||
| 20.02.2014, 15:13 [ТС] | |||||||||||
|
elivin...
По поводу копания в чужом коде - от части лишь вы правы. Т.е. только для тех лиц, которые сами не знают чего хотят. Повторюсь, курс свой я знаю, дело только в способе реализации, т.к. знаний мало.(юн ещё чтоб всё знать в программировании на C)
Так, у меня теперь после раздумий вопрос назрел. А сколько памяти занимают типы данных, и если например сравнивать integer с массивом из символов. Integer - это 4 байта, значения +- 2'147'483'647 (т.е. 10 символов), и сравнить с массивом из 11 символов(поледний же /n), сколько займёт такой массив? - больше или меньше чем Integer?...
0
|
|||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 20.02.2014, 16:07 [ТС] | ||
|
0
|
||
| 20.02.2014, 20:13 | ||||||||||||
|
0
|
||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||
| 21.02.2014, 06:03 [ТС] | ||||||
|
обработчика события - я про это и говорю. Хотя форму саму, например картинку на контролл нацепить - целая проблема, т.к. состояний у контролла несколько, надо всё просчитать.
Виндоформопроблемы - так все под виндой, это стоит того.
По поводу велосипеда, параллель вам - "плохому танцору и ноги мешают". И не надо спорить, если голова и руки на месте - то всё будет без багов.
По поводу 1С вы ответили не на мой вопрос, а на тот который вы сами выдумали. Способ приминения программы 1С именно такой как описал его я. Вы видимо не видели внутренности, потому не компитентны.
0
|
||||||
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||
| 21.02.2014, 23:40 | ||
|
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
| 22.02.2014, 00:40 [ТС] | |
|
Nick Alte, а есть какие то алгоритмы приведения числа к 4 байтному виду в форме символов? Я так понимаю что можно использовать например коды символов...
например, 'Y' соответствует числу 90. И например число, которое разбираем содержит '90', тогда вместо двух символов, можно написать один - Y. Это работает так или по другому, тогда как?..
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 22.02.2014, 11:41 | |
|
Это вопрос интерпретации информации. В байте хранится 8 битов, что даёт 256 возможных комбинаций. Мы можем обозначать этими комбинациями числа от 0 до 255. В 4 байтах мы имеем (256)^4 = 4 с хвостиком миллиарда возможных значений для всего набора.
А вот если мы договоримся воспринимать байты как хранилище для кодов символов, то получаем 1 символ (в данном случае десятичную цифру числа) на байт. А раз уж в представлении числа используются цифры, то нас только они и будут интересовать. Стало быть, для каждого символа из 256 возможных кодов допустимыми являются только 10. Раньше, в староглиняные времена, имел хождение ещё один занятный способ представления чисел: двоично-десятичный (bcd). Под каждую десятичную цифру отводилось ровно полбайта, использовалось 10 значений из 16 возможных, в целиковом байте получалось 100 допустимых значений из 256 возможных. В процессоре даже сохранились какие-то связанные с этим форматом команды. Но в любом случае, это всё вопрос интерпретации. В "сыром" виде в памяти хранится просто некий набор битов. Надо знать, что мы ожидаем увидеть в данном конкретном участке памяти: коды символов, двоичное представление целого числа со знаком или без знака, число с плавающей точкой или ещё что-то. В зависимости от этих ожиданий и обращаться с этой информацией соответствующим образом. Компилятор автоматически отслеживает эти ожидания через типы данных.
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||
| 27.02.2014, 13:40 [ТС] | |||||||
|
1.) Так, в скользь я тут спросил такое(но из за небольшого отклонения, ответа не получил):
-Как сделать динамически кол-во переменных типа структуры? Т.е. мне надо не просто:
Как реализовать? Или точное название для гугла дайте. 2.) По поводу интерпритации информации, я так понимаю что мне надо для этих целей смотреть алгоритмы самих функций типа itoa. Они есть в открытом виде?.. 3.) По поводу динамического массива(который мы тут разбираем), есть такая тема: Как создать динамический массив структур? Где написано, что:
0
|
|||||||
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||
| 27.02.2014, 19:22 | ||
|
Нулевой оверхед возможен только за счёт априорного знания (то есть, структура данных известна на момент компиляции). Если структура данных задаётся динамически, то неизбежен оверхед по памяти на хранение описания содержимого и оверхед по времени на чтение, понимание и поддержание этого описания. Так, простейший способ контролировать количество чего-то - завести переменную, в которой это количество хранится. Хранение этой переменной даёт оверхед по памяти, а её чтение и обновление - оверхед по времени.
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||
| 28.02.2014, 00:35 [ТС] | |||||||
|
Nick Alte, переводчика пожалуйста))))
Я под оверхедом понимаю - ошибку обращения к какому либо значению... Но моё понимание что то не клеится в вашем контексте. Так ладно, расшифрую о том и о сём: 1. В ссылке говорится про указатели и возникающий оверхед при обращении к значениям. Т.е. если у меня 3-4 структуры, естественно т.к. экземпляр структуры(если я правильно назвал это) прописывается как указатель:
2. У меня уже будет через даже одну структуру - тройная адресация, а если учесть что некоторые переменные ссылаются на другие - то получится ппц как много... чую ошибок не миновать. 3. Не понятно что вы имеете ввиду:
---- 4. По поводу itoa... На форуме дофига чего есть, но иногда подобрать "ключевые слова для поиска" - становится сложно, почему я в пред. посте и попросил "точное название для гугла".(я попробую как вы написали: "Алгоритм перевода числа в строку") ---- И оставшиеся вопросы более важны, т.к. пока что я не уверен что буду делать через преобразования строки в другие форматы, т.к. это будет сложновато реализовать для всех возможных форматов. Возможно пойду через Variant структуру, хотя пока не допёр как с ним работать, а в инете все примеры использования Variant через классы сделаны, что меня совершенно не устраивает(переубеждать не надо).
0
|
|||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||
| 28.02.2014, 16:00 [ТС] | ||||||
|
elivin, Нет! Это я знаю. Мне надо кол-во экземпляров типа ma[0], ma[1]..
Я наверно не правильно назвал это.(не знаю как правильно). Т.е. надо типа:
Правильно ли это?
0
|
||||||
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 28.02.2014, 17:14 | |
|
Оверхед в моём понимании (и, как я подозреваю, в понимании большого количества других людей) - накладные расходы, дополнительные затраты памяти и времени на поддержание работоспособности какой-то конструкции.
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||
| 28.02.2014, 20:39 [ТС] | ||||||
|
elivin, спасибо попробую. А как кстати в этом случае описать ma в глобальных переменных?
Ну было то так:
Nick Alte, потеря времени перед глобальной динамикой - ничто. Темболее сейчас такие мощьные компы, что им это по барабану(ну если не сильно с подобными оверхедами увлекаться). Другое дело если ошибки будут возникать из за этих оверхедов, хотя я по таймингу ничего не делаю, пусть хоть пол часа данные читает, главное чтоб в конце всё было правильно сделано.
0
|
||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 28.02.2014, 23:57 | ||
|
Izual, судя по вашему описанию динамически расширяемого хранилища экземпляров:
Если не хочется использовать классы, то в сети есть довольно простые реализации на Си. Ну или я сюда могу скинуть пример (полноценный, потому не очень маленький), если хотите.
0
|
||
| 28.02.2014, 23:57 | |
|
Ввод в строку данных разного типа Хранение в массиве данных разного типа Сохранение данных разного типа в один файл две базы данных разного типа на хостинге Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|