|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
Пишу свою библиотеку C++04.04.2023, 20:22. Показов 22607. Ответов 123
Метки нет (Все метки)
Приветствую!
Кто хочет поучится программированию на C++ за одно написать нужные классы и функции для будущих своих разработок, предлагаю присоединиться к разработке своей библиотеки C++. Зачем я это делаю? Кто-то скажет есть же уже готовые библиотеки, зачем изобретать велосипед и тд. Во-первых в существующих много лишнего чем вы никогда не воспользуетесь и нужно их изучать подстраиваться под их синтаксисы и тд. проблемы при отладке т.к. не знаете как что работает и тп. Во-вторых в своих знаешь, что и как работает, при необходимости можно доработать, написаны только самые основные нужные функции и классы с удобным для себя синтаксисом. В-третьих при создании своей библиотеки вы изучаете нативные функции и возможности самого языка программирования и на примерах пишите по своему, тестируете и оттачиваете свои мастерство и знания, которые в последствии вам помогут при создании своих будущих проектов. В перспективе я планирую написать с помощью своей библиотеки базу данных, язык программирования, веб-сервер. Ещё есть мысль с применением графической библиотеки wxWidgets(возможно другой) написать заголовочный файл для быстрого создания окон, элементов окна и др. https://github.com/arbnet/CppLibrary
1
|
|
| 04.04.2023, 20:22 | |
|
Ответы с готовыми решениями:
123
Создать свою библиотеку в С++ Создать свою библиотеку Разработать свою библиотеку |
| 07.04.2023, 16:44 | |
|
0
|
|
| 07.04.2023, 17:30 | |||||||||||
|
Короче вы бросили один велосипед не доведя до релиза - решили другой? 2. На нем уже можно попробовать, что то сделать? 3. Вы хотя бы можете сами продемонстриовать создание не сложного сайта, но так, чтобы не убить опять три часа на просмотр того как вы боритесь с переменным успехом с ошибками? Я думаю нет. PS К слову, я на C++ так же писал реальные проекты - могу и здесь вас что ли "макнуть". Зная ваш стиль я практически уверен, что здесь так же много всякого бреда. Добавлено через 2 минуты Добавлено через 4 минуты Что вам не хватает в MFC? И что там кажется лишним? (а если это лишнее убрать, то значит уже не для любых проектов) Чего вам не хватает в Qt? И что в Qt кажется лишним? (а если это лишнее убрать, то значит уже не для любых проектов) К слову, Qt в версии 5 заметно подразбили библиотеки, и они стали меньше.. Т.е. пожалуйста: вы можете спокойно подключать именно те, что необходимы на конкретном проекте. Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 13 минут
0
|
|||||||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|
| 07.04.2023, 17:42 | |
|
например, резко появились такие вопросы:
1) типы данных то зачем определять, они ведь уже встроены ) 2) И для этого уже изобрели using 3) на фоне стандартных и оптимизированных-переоптимизированных-отлаженных std::array и std::vector вызывает недоумение своя наивная реализация вектора template <typename dTYPE> class Array . Которая не содержит работу с перемещением и даже простого swap на крайняк. Нет emplacement new 4) безопасность относительно исключений - нету в общем, сыровато ![]() Добавлено через 3 минуты если это - "свой новый язык", то он пока что намного хуже, чем C++ . И не может быть эффективнее, чем C++, просто потому, что он на нём и написан. Тогда уж какой-нибудь C или даже ассемблер в руки - и вперёд
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||||||
| 07.04.2023, 21:00 [ТС] | ||||||
|
0
|
||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|||
| 07.04.2023, 21:08 | |||
0
|
|||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
| 29.04.2023, 11:12 [ТС] | |
|
Немного обновил.
0
|
|
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
||
| 29.04.2023, 16:48 | ||
|
pgb,
эти методы
1
|
||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||
| 29.04.2023, 17:01 [ТС] | ||
|
0
|
||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|
| 29.04.2023, 17:22 | |
|
pgb, const позволит вызывать метод для константных объектов. А noexcept - так можно пометить методы/функции, которые гарантированно не кидают исключения. Их компилятор сможет более эффективно оптимизировать
1
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||
| 29.04.2023, 19:08 [ТС] | |||||||
|
Добавлено через 1 час 24 минуты Тестирую класс Args(в файле _array.h) - это класс для передачи аргументов разных типов
0
|
|||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|||
| 29.04.2023, 21:00 | |||
|
Добавлено через 47 секунд так отладчиком зайди туда, чтобы найти место ошибки Добавлено через 2 минуты вызывает подозрение этот момент
Добавлено через 2 минуты также, если индекс отрицательный, тоже будет выход за край (тип индекса должен быть size_t - он беззнаковый)
0
|
|||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||
| 29.04.2023, 21:13 [ТС] | |||||||
|
Алексей1153, В том месте где вы показали всё нормально. Проблема в классе Args, решил его переписать. Раньше сделал внутренний массив указателей на значения через указатель, потом в конструкторе копирования просто устанавливал указатель. Но сейчас думаю проще сделать обычным объектом. Хотя может и не в этом дело, не понравилось мне что-то это сейчас.
В методе Take класса Args, я получаю указатель на элемент, потом читаю значение в новый объект который потом возвращаю из метода. А по указателю удаляю объект\значение вот тут что-то не правильно работает.
0
|
|||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||||||
| 02.05.2023, 21:45 [ТС] | ||||||
|
Сделал свой класс(в файле _types.hpp) умного указателя POINTER<CHARS> и наследуя его делаю класс STRING.
При конвертации числа в строку возникает ошибка. Не пойму в чём дело. Исходник на гите обновил. Тестовый файл
0
|
||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|||||||
| 02.05.2023, 22:05 | |||||||
|
pgb, я сильно не вникал. Но подозрительное место
а ты его разыменовываешь (?) и при этом ты туда ещё и строку хочешь форматировать также, где гарантия, что val - это int ? Это к вопросу о форматном символе %d Я потерял нить логики, если честно ![]() Добавлено через 5 минут нет, отсутствие инициализации тут ни при чём. Но всё равно сомнительно его там наличие
0
|
|||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||||||
| 02.05.2023, 23:02 [ТС] | |||||||||||
|
Алексей1153, О чём вы говорите там всё нормально работает.
POINTER<CHARS> lts; Создаётся указатель на строку до 32 символов, потом sprintf(*lts,"%d",val);lts.Size(true); по указателю на строку заполняется число из val. потом подсчёт длинны строки в указателе. Это можно вынесли в main отдельно проверить всё работает нормально.
т.е. создаётся STRING st; потом ещё новый объект для конвертации st=(STRING)445538; ещё какой-то видимо для вывода Удаляется который для конвертации Потом видимо для присвоения и потом ещё раз с таким же адресом пытается удалить но его уже нет. Добавлено через 34 минуты Разобрался. Завтра доделаю. Добавлено через 5 минут Как правильно сделать перегрузку для типов целых чисел и с плавающей точкой?
0
|
|||||||||||
| 05.05.2023, 11:51 | |||||
|
Не по теме:
Алексей1153, вы молодец! но бессмысленный в данном случае. Такие персонажи (типажа "непризнанный гений") периодически всплывают на разных форумах. Увы, практика, в том числе моя личная, показывает, что абсолютно бесполезно надеяться быть услышанным. Хочется, но бесполезно.
0
|
|||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|
| 05.05.2023, 11:56 | |
|
KSergey9, да я давно перестал пытаться переделывать ТС
Ясно, что всё это делается намного проще. Я пытаюсь смотреть на текущий код и разгадать очередные грабли. Но долго я не ковыряюсь, говорю только то, что в глаза бросается. В отладчике не запускаю, там бы что-то ещё нашёл
1
|
|
| 05.05.2023, 12:02 | |
|
Не по теме:
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||
| 07.05.2023, 19:28 [ТС] | |||||||
|
voral, мне вот не понятен ваш мотив, я по вашему делаю что-то запрещённое, не нормальное или что? В чём причина постоянных ваших нападок?
Алексей1153, вам большое спасибо за помощь, даёте дельные советы. KSergey9, вам тоже спасибо, несмотря на ваше саркастичное отношение, наталкивали на некоторые решения. Добавлено через 4 часа 6 минут Обновил гит. Добавил класс своего умного указателя. Переделал класс STRING с применением умного указателя, также переделал массивы Array. Сейчас настраиваю Args аргументы. Непонятная ошибка при вызове метода Take(извлечение элемента), скорее всего связанная с деструктором, пока не понял в чём дело. Буду рад помощи.
Ошибку нашёл, переделываю класс ANY.
0
|
|||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||||||||||||||||
| 09.05.2023, 18:34 [ТС] | ||||||||||||||||
|
Как правильно удалить const char*?
0
|
||||||||||||||||
| 09.05.2023, 18:34 | |
|
Как создать свою библиотеку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|