|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|
Пишу свою библиотеку C++04.04.2023, 20:22. Показов 23212. Ответов 123
Метки нет (Все метки)
Приветствую!
Кто хочет поучится программированию на C++ за одно написать нужные классы и функции для будущих своих разработок, предлагаю присоединиться к разработке своей библиотеки C++. Зачем я это делаю? Кто-то скажет есть же уже готовые библиотеки, зачем изобретать велосипед и тд. Во-первых в существующих много лишнего чем вы никогда не воспользуетесь и нужно их изучать подстраиваться под их синтаксисы и тд. проблемы при отладке т.к. не знаете как что работает и тп. Во-вторых в своих знаешь, что и как работает, при необходимости можно доработать, написаны только самые основные нужные функции и классы с удобным для себя синтаксисом. В-третьих при создании своей библиотеки вы изучаете нативные функции и возможности самого языка программирования и на примерах пишите по своему, тестируете и оттачиваете свои мастерство и знания, которые в последствии вам помогут при создании своих будущих проектов. В перспективе я планирую написать с помощью своей библиотеки базу данных, язык программирования, веб-сервер. Ещё есть мысль с применением графической библиотеки wxWidgets(возможно другой) написать заголовочный файл для быстрого создания окон, элементов окна и др. https://github.com/arbnet/CppLibrary
1
|
|
| 04.04.2023, 20:22 | |
|
Ответы с готовыми решениями:
123
Создать свою библиотеку в С++ Создать свою библиотеку Разработать свою библиотеку |
| 19.05.2023, 11:54 | ||
|
0
|
||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||
| 19.05.2023, 14:15 [ТС] | |||
|
Я писал простые приложения с готовыми библиотеками и тд. всё устраивало до поры до времени. Ты вот писал свой язык программирования, свою базу данных, свой сервер, программу для блокчейна и тп. вот тогда понял бы меня. А я писал, не на C++ правда, поэтому решил делать нативно, тем-более C++ так больше позволяет делать чем в других языках. Что касается моих вопросов, несмотря на опыт, какой проект большой или маленький, не важно, то возникают проблемки, пустяковые, глупые, сразу не можешь понять в чём дело, иногда быстро решаешь задачу, а иногда долго бьёшься и не можешь понять в чём дело, со стороны выглядит как примитивный вопрос, но малу по малу такие вопросы решаются и дело движется... А ты и другие не понимаете, что ваши мнения, фантазии и иллюзии мне не интересны. Отвечать по теме вот, что от вас требуется, не можете ответить не надо флудить, отвлекать от дел.. Из за таких, мне тут накидали каких то минусов, назвали нарушителем, при этом писав всякую тупость в моих темах, флудить это для вас норма, и когда таким говоришь, что они несут пургу, то обижаются, вместо того чтобы вникнуть в задачу и ответить по теме. Алексей1153, Вам огромное спасибо. Побольше бы таких как вы, несмотря на своё мнение, что я хожу по граблям всё же подсказываете, что и как лучше сделать. Респект и уважуха. Сегодня те предупреждения не появлялись, продолжаю разработку. Добавлено через 19 минут
0
|
|||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
|
| 19.05.2023, 14:24 | |
|
pgb, так они, эти ошибки, когда показываются ? При компиляции? При полном ребилде всегда показываются ?
или это просто intellisence местный мозги делает? Какая IDE, кстати ?
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||
| 19.05.2023, 14:35 [ТС] | |||
|
Вот вопрос. Присваиваю двойной символ wchar_t а срабатывает оператор для простого char, хотя перегрузки оператора= для обоих типов есть. Косяк компилятора? Не может различать символьные типы?
0
|
|||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
||||||||
| 19.05.2023, 14:53 | ||||||||
operator=(const char*)
0
|
||||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||
| 19.05.2023, 14:58 [ТС] | |||||||
0
|
|||||||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
|
| 19.05.2023, 15:10 | |
|
pgb,
#include <windows.h> //тут есть определение CHAR и WCHAR (-> windef.h -> winnt.h) #include "_types.hpp" //и тут есть определение CHAR и WCHAR ну, ты сам себе злой Буратино, как говорится ![]() это тянет на UB Вообще, я бы закладывался только на UNICODE (ANSI нынче никому не сдался) , а при его отсутствии не разрешал бы компиляцию. Тогда всякие TCHAR не нужны. Будут просто char и wchar_t явно именно там, где они и нужны. А не в зависимости от макроса
0
|
|
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||
| 19.05.2023, 15:34 [ТС] | |||
|
0
|
|||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
|||
| 19.05.2023, 15:45 | |||
const char* прекрасно живёт и будет жить. В том числе для хранения utf8. Я же не об этом, а о том, что не нужно на макрос UNICODE закладыватьсятот же Qt в своих строках QString хранит wchar_t , но при этом повсюду реализована неявная перекодировка unicode<->utf8 там, где это требуется Добавлено через 55 секунд
0
|
|||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||
| 19.05.2023, 15:58 [ТС] | ||
|
И по моему тут нет неопределённого поведения при использовании макроса UNICODE для переключения типа, наоборот это делает исходник более гибким, адаптируемым под нужную среду.
0
|
||
|
59 / 3 / 0
Регистрация: 19.03.2016
Сообщений: 19
|
||
| 19.05.2023, 17:25 | ||
|
Разновидность прокрастинации. Вместо решения конкретных задач с помощью готовых инструментов, пациент создает велосипеды, на которых, как он себя убедил, он будущем обязательно сделает что-то "настоящее". Конкретно этот пациент был хорошо известен на Delphi - форумах (на покойном sql.ru, например), ну вот теперь он решил сменить инструмент.
0
|
||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||
| 19.05.2023, 20:49 [ТС] | |||
Вот честно никогда там не регистрировался и даже по моему не был.На именно Delphi ничего не писал, писал на паскале в среде Lazarus похож на Delphi но не делфи, хотя библиотеки многие совместимы. В то время работал на заводе и ни на каких форумах не сидел, писал модули для приложения похожем на 1C для ИТРшиков завода, ещё одно приложение написал для БТД сканирования чертежей, их поиска в электронном виде, так же печать наклеек по чертежам. Тут зарегистрировался 2015 это как раз когда заканчивал работу над модулями для приложения типа 1C хотел ещё для себя что-то сделать, смотрю по первым темам, компиляцию какую-то искал и тд. Потом переключился на создание фреймворка для сайтов, кстати надо его уже запускать, вот разберусь с C++ а то переключусь и забуду проблемы которые сейчас надо решить. Добавлено через 38 минут Решил вместо UNICODE использовать константу TYPECHAR 1 для CHAR, и 2 для WCHAR соответственно. С использованием константы UNICODE какой-то конфликт, не правильно работает.
0
|
|||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
|||||||||||
| 19.05.2023, 21:02 | |||||||||||
|
pgb, вообще, всё, что пересекается с винапи, нужно иначе называть, либо в неймспейс засовывать.
с константой опять на грабли. Ну, будут магические константы 1 и 2 по коду размазаны. Это плохо. Поэтому, их тоже лучше именовать. И это опять макросы. А я бы лучше выбрал enum class
0
|
|||||||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||
| 19.05.2023, 21:45 [ТС] | ||
|
0
|
||
|
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
|
|||
| 19.05.2023, 21:52 | |||
А еще мне кажется, в каждом из нас живет свой маленький pgb
0
|
|||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
||||
| 19.05.2023, 22:17 | ||||
|
Добавлено через 1 минуту
1
|
||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
||||||||
| 19.05.2023, 22:41 [ТС] | ||||||||
|
Мне ещё не понятно как это работает std::forward<F>(f)(); А что мне не понятно я стараюсь не использовать, а по возможности сделать по своему без включения стороннего. И если условие в constexpr не выполняется, то код такого условия точно не будет включатся в компилируемый код?
0
|
||||||||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
||
| 19.05.2023, 22:43 | ||
|
А вообще, в данном конкретном случае проброс и не нужен особо-то. Если смущает, можешь убрать. Я его на автомате поставил
например, если снаружи в функцию передали ссылку, то без проброса при использовании это тоже будет ссылка. А вот если передали временное значение (rvalue), то без проброса это будет просто ссылка. Кратно я это не сумею объяснить, загляни вот сюда, например
0
|
||
|
фрилансер
6506 / 5755 / 1134
Регистрация: 11.10.2019
Сообщений: 15,403
|
|||||||||||
| 19.05.2023, 22:49 | |||||||||||
|
pgb, вообще, всё, что пересекается с винапи, нужно иначе называть, либо в неймспейс засовывать.
с константой опять на грабли. Ну, будут магические константы 1 и 2 по коду размазаны. Это плохо. Поэтому, их тоже лучше именовать. И это опять макросы. А я бы лучше выбрал enum class
0
|
|||||||||||
|
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
|
|||||||
| 20.05.2023, 20:43 [ТС] | |||||||
|
Алексей1153,
А если где-то в коде нужно переключить текущий выбор, то что тогда? С константой это просто. Вот честно, думал, немного тестил, но не катят как то мне функция для перехвата исключений. Ну не знаю как так сделать. Знаю как убрать предупреждение
А так как файл ошибок _error.hpp подключать надо до типов чтобы макросы работали, в которых и будет вызываться t::Type(var) для определения типа исключения не вызванного моим классом Error. Возникает проблемка.. как через extern объявить шаблонную функцию в пространстве имён t??
0
|
|||||||
| 20.05.2023, 20:43 | |
|
Как создать свою библиотеку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|