169 похожих чатов

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда

пришлось писать деревья или двунаправленные списки?

48 ответов

2 просмотра

нет, мы только крудами озадачены.

Если нужны деревья - пора в царство ++

Игорь
Если нужны деревья - пора в царство ++

А на си деревья религия не позволяет реализовывать?

BlackBloodyRabbit Rabbit
А на си деревья религия не позволяет реализовывать...

Никакой религии, только здоровый прагматизм. На начальных этапах развития полезно изобретать свои велосипеды 😉

Игорь
Никакой религии, только здоровый прагматизм. На на...

Прагматизм - это когда ты пишешь код, который реализует задачу, а не когда в дополнение к нему плодишь 5млрд обёрток.

BlackBloodyRabbit Rabbit
Прагматизм - это когда ты пишешь код, который реал...

Скорее, это выполнение поставленной задачи - наиболее подходящим способом. 98% нужных оберток в написаны до рождения половины местных подписчиков 🤡 А не отстаивание в слюни толь С и ни чего кроме

Игорь
Скорее, это выполнение поставленной задачи - наибо...

Ты в сишном чате, ты на чужой земле)) Деревья на си написаны, удивительно, но тоже до рождения 90% местных участников.

А ты обряд посвящения у нас прошёл?

Andrey Electron
Зачем использовать Си, если есть плюсы ?

Чтобы получить нулевой оверхед, чтобы получить простой код, чтобы получить быструю компиляцию, ну и zero runtime))

Игорь
для прошивок без OSных железок

ну если только там компилятора С++ нет. Но мой вопрос в том, зачем использовать чистый Си, если есть возможность использовать С++. Если возможности использлвать С++ нет, то тут понятно естесвенно.

BlackBloodyRabbit Rabbit
Чтобы получить нулевой оверхед, чтобы получить про...

Какой нулевой оверхед ? В плюсах вы получите такой же оверхед как и в Си, если не меньше за счет оптимизации компилятора- а уж код получится более кратким и удобным.

И получится си с расширениями

BlackBloodyRabbit Rabbit
И получится си с расширениями

Не получится. Вещи с шаблонами из стдлибы всё ещё будут работать, да и вещи что на интринсиках работают. Да и в целом си не входит в плюсы

Andrey Electron
Какой нулевой оверхед ? В плюсах вы получите такой...

Единственный момент, где плюсы обгоняют си это колбеки, во всех остальных случаях на плюсах ты плодишь всякое лишнее говно.

BlackBloodyRabbit Rabbit
Единственный момент, где плюсы обгоняют си это кол...

Вы по себе судите ? Если вы пложите гавно на плюсах, это не значит, что остальные так же делают. О каком говне речь ?

GNU/Линуксяша-libre (";("
Не получится. Вещи с шаблонами из стдлибы всё ещё ...

Шаблоны ты и на препроцессоре сделать можешь. Си не входит в плюсы это верно, т.к. плюсы довольно много чего не поддерживают из си.

BlackBloodyRabbit Rabbit
Шаблоны ты и на препроцессоре сделать можешь. Си н...

Да шаблоны на препроцессоре - это очень удобно. Говна в коде не получится

Andrey Electron
Вы по себе судите ? Если вы пложите гавно на плюса...

Там линуксяша выше написала, что неплохо отключить для минимизации говна)))

Стикер

Можешь

BlackBloodyRabbit Rabbit
Можешь

Шаблоны тьюринг полны, а препроцессор всегда имеет ограничение на глубину рекурсии, в связи с чем он не может реализовать шаблоны ни в каком виде

Отсутствие исключений и RTTI не стандартизировали какого-то хрена

Ну самые важные её части будут

GNU/Линуксяша-libre (";("
Шаблоны тьюринг полны, а препроцессор всегда имеет...

Сомнительный аргумент, т.к. в препроцессинге у тебя практически в 100% случаях есть информация о пределе глубины рекурсии.

BlackBloodyRabbit Rabbit
Сомнительный аргумент, т.к. в препроцессинге у теб...

Как написать макрос, который каждый аргумент заворачивает в другой макрос и конкатит всё?

GNU/Линуксяша-libre (";("
Как написать макрос, который каждый аргумент завор...

Не очень понимаю, ты хочешь просто сконкатить все аргументы или применить некий макрос ко всем аргументам?

GNU/Линуксяша-libre (";("
#define MACRO(a) Some < a >, MAP(MACRO, 1, 2, 3, ...

Так элементарно, классический мап макрос на рекурсии, глубину задаём исходя из стандарта.

BlackBloodyRabbit Rabbit
Так элементарно, классический мап макрос на рекурс...

Она будет ограничена, оно не сможет быть бесконечной

GNU/Линуксяша-libre (";("
Она будет ограничена, оно не сможет быть бесконечн...

128 ~ бесконечность, т.к. это то, что гарантировал стандарт.

BlackBloodyRabbit Rabbit
128 ~ бесконечность, т.к. это то, что гарантировал...

Нужно хотя бы 200 тысяч для минимума, а для реализации шаблонов так вообще бесконечность

BlackBloodyRabbit Rabbit
Пример пожалуйста в студию.

template <typename... Ts> auto Foo(Ts... args) -> void { (std::cout << ... << args); };

GNU/Линуксяша-libre (";("
template <typename... Ts> auto Foo(Ts... args) -> ...

Не не не, ты не понял, пример использования будь любезен)

BlackBloodyRabbit Rabbit
Не не не, ты не понял, пример использования будь л...

Про это я не говорила. Только про теоретическую реализуемость. Так вот это невозможно

BlackBloodyRabbit Rabbit
Не не не, ты не понял, пример использования будь л...

Ну и это самое базовое. Как реализовать вот это? auto Foo() { Foo(42); Foo(3.1415); }; static_assert(kAutoTypes<> == kTypeList<int, double>); static_assert(AddType<float>()); static_assert(kAutoTypes<> == kTypeList<int, double, float>);

Похожие вопросы

Обсуждают сегодня

а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
Вот например простой пример, как получить стоимость хешрейта монеты монеро с сайта whattomine.com c использование сеарилизатора при парсинге JSON TaskProfit := TTask.Run(proc...
Delphi Coder
2
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
ну так че, сделать програмулину, в которую можно добавлять в Едиты свои строчки кода(закладки) а потом по ним прыгать. ну и сохраняться они естественно будут той програмуленно...
Kraszx
15
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Приветствую всех!)) Подскажите, а кто мог бы написать на делфи движок (самую базу) интерпретатора очень легковесного и минималистичного языка программирования? Язык - проце...
Моринаро
8
#include <stdlib.h> #include <stdio.h> #include <math.h> #include <assert.h> #include <limits.h> long long avg3(long long a, long long b, long long c) { if (a == b && b =...
Malformed C
4
Карта сайта