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

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

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

50 ответов

48 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стикер

Можешь

Денис Rabbit
Можешь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Денис 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>);

Andrey Ermakov
Vice versa

Вот я и спрашиваю зачем

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта