« first day (1083 days earlier)      last day (2120 days later) » 

9:24 AM
1
Q: Вывести тип, использованный в шаблонных параметрах аргумента

Egor MorozМожно ли сделать так, чтобы тип CharT выводился автоматически в C++17? template<typename CharT> void test(std::basic_string_view<CharT> string) { } test<char>("hello world"); //ok test("hello world"); //compile error

 
 
5 hours later…
avp
2:09 PM
@Feeds забавная мысль пришла в голову -- С++ из языка со строгой типизацией движется в сторону (псевдо)динамической типизации (templates от типа, auto и т.д.)
Когда-нибудь количество перейдет в качество и мы увидим реально run-time динамику типов (и тогда пути Си и крестов окончательно разойдутся)
 
 
1 hour later…
3:29 PM
@avp Так и сейчас же можно рантайм динамику и в плюсах и в си (хоть своим велосипедом, хоть что-то из буста/std).
Последние пару лет довольно часто использую nlogmann::json для передачи данных, когда не хочется заморачиваться со структурой данных.
 
avp
4:03 PM
@VladimirGamalyan я имел в виду динамику, которую генерит непосредственно компилятор. В качестве аналогии можно привести varargs (например, gcc __builtin_va_start и т.п.)
 
@avp Понял. Думал про другое - про переменные, которые могут тип менять в рантайме.
 
 
2 hours later…
avp
6:01 PM
@VladimirGamalyan само-собой именно про это (точнее, если уж совсем не менять дух языка) про аргументы (в т.ч. ссылки/указатели)), только не на уровне велосипедов, а встроенное в язык (следовательно в компилятор)
 
 
1 hour later…
7:12 PM
@avp Кмк, вариантов реализации динамических типов - вагон и довольно таки большая телешка. Т.е. фиксировать в стандарте - обрекать нишу на стагнацию и добровольно-принудительное использование одной, одобренной свыше техники.
Мне вообще больше нравится подход с минимальным ядром языка + обвес нестандартизированными библиотеками. Так оно с плюсами 98 и было практически - батарейки шли в виде буста. А теперь сунули и потоки, и файловую систему в стандарт.. А что если на моем устройстве нет потоков и файловой системы.
А пока потоков не было в стандарте - была нужда, которая пораждала такие вещи как boost::thread. А кто сейчас будет писать/развивать аналогичные бибилотеки, которые есть из коробки?
Это при том, что потоки в стандарте совсем уж примитивные (не прерываются, нет возможности сделать join с таймаутом и т.д. и т.п.)
 

« first day (1083 days earlier)      last day (2120 days later) »