Size: a a a

2020 August 12

ПК

Побитый Кирпич... in supapro.cxx
а так правильно
источник

AP

Alexander Potapov in supapro.cxx
Vladimir Suisei
Я правильно понимаю что шаблоны это такой очень хитрый сахар, который мне автоматически генерирует новые классы/функции?
Ну да, генерирует
источник

AP

Alexander Potapov in supapro.cxx
Они ещё вычислять что-то могут
источник

AP

Alexander Potapov in supapro.cxx
Хотя ща будет 20 плюсы вообще можно в constexpr что угодно запихнуть, раньше веселее было
источник

VS

Vladimir Suisei in supapro.cxx
По сути это все придумали чтобы не дублировать код для разных типов
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
По сути это все придумали чтобы не дублировать код для разных типов
Изначально идея была такая, да
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
По сути это все придумали чтобы не дублировать код для разных типов
Это всё придумали для реализации полиморфизма. Параметрического
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
Изначально идея была такая, да
А сейчас идея поменялась?
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
А сейчас идея поменялась?
сейчас шаблоны могут много другого
источник

VS

Vladimir Suisei in supapro.cxx
По сути шаблоны это кодогенерация.
Почему было не сделать простой язык для кодогенерации с++?
Типа не вводить шаблоны, а чтобы генерилось classname_int, classname_bool
источник

D

Danya in supapro.cxx
Vladimir Suisei
По сути шаблоны это кодогенерация.
Почему было не сделать простой язык для кодогенерации с++?
Типа не вводить шаблоны, а чтобы генерилось classname_int, classname_bool
Оно примерно в это и генерится
источник

VS

Vladimir Suisei in supapro.cxx
Имхо было бы проще и удобнее
источник

VS

Vladimir Suisei in supapro.cxx
Danya
Оно примерно в это и генерится
Синтаксис с ума сводит
источник

LA

Liber Azerate in supapro.cxx
Vladimir Suisei
Имхо было бы проще и удобнее
Рефлексию "скоро" добавят
источник

ip

illya palkin in supapro.cxx
Vladimir Suisei
По сути шаблоны это кодогенерация.
Почему было не сделать простой язык для кодогенерации с++?
Типа не вводить шаблоны, а чтобы генерилось classname_int, classname_bool
Это же препроцессор делает
источник

AS

Anatoly Shirokov in supapro.cxx
Vladimir Suisei
Допустим, я в шаблонной функции.
Хочу шаблонный аргумент передать в operator<<.
Но хочу это сделать только в случае, если он существует для этого типа.
Можно это как-то проверить?
#include <iostream>

template<typename T>
concept Printable = requires(T a) {
 std::cout << a;
};

template<typename T>
struct printable
{
 enum {value = Printable<T>};
};

template<typename T>
constexpr bool printable_v = printable<T>::value;

template<typename T>
void check_printable(T value)
{
 if constexpr (printable_v<T>) {
   std::cout << typeid(T).name() << " is a printable type";
 } else
 {
   std::cout << typeid(T).name() << " is not a printable type";
 }
}
struct foo {};

int main() {
 check_printable(10);
 check_printable(foo());
}
источник

VS

Vladimir Suisei in supapro.cxx
Как есть typescripr который выдает js. Сделали бы язык который выдает плюсы
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Как есть typescripr который выдает js. Сделали бы язык который выдает плюсы
зачем?
источник

VS

Vladimir Suisei in supapro.cxx
Чтобы было просто
источник

ПК

Побитый Кирпич... in supapro.cxx
С++ сам может выдавать С++, это же не скриптуха галимая
источник