Size: a a a

2020 September 01

ИВ

Илья Волков... in pro.cxx
Pavel Kazakov
Ты утверждаешь, что компиляторный бэкэнд для плюсов и си полностью одинаковый? )
Бэкенд да. Фронденд разный)))
источник

Rn

Roman na in pro.cxx
Илья Волков
Бэкенд да. Фронденд разный)))
Одинаковый. Но он ещё и тут всё перепутал. Ну уровень высокий, конечно
источник

PK

Pavel Kazakov in pro.cxx
Илья Волков
Бэкенд да. Фронденд разный)))
Пусть он сам на вопросы отвечает :р
источник

T

Ternvein in pro.cxx
Roman na
ну я за тебя что-ли должен букварь читать? Ты же там мне рассказывал, что я не понимаю, а ты, значит, понимаешь? А теперь ты с меня требуешь подтверждений очевидным фактам?
Каким очевидным фактам? Тем, что С и С++ компиляторы разные?
Что-то прямо-таки странный разговор...
источник

PK

Pavel Kazakov in pro.cxx
Roman na
Нет, я утверждаю то, что он один
Раз уже начал вот тут, пусть продолжает.
источник

PK

Pavel Kazakov in pro.cxx
И надо некий букварь читать ещё, а какой? Имя не подскажешь?
источник

Rn

Roman na in pro.cxx
Ternvein
Каким очевидным фактам? Тем, что С и С++ компиляторы разные?
Что-то прямо-таки странный разговор...
Боже, зачем вы куда-то лезете, если ничего не знаете? Никаких "отдельных компиляторов нет". Тот же шланг - один фронт для всего c-family. И это очевидно, потому как и тот же С++ и обжц - это всё расширения сишки. Если и там и там базовым языком является сишка - зачем реализовать сишку отдельно?
источник

T

Ternvein in pro.cxx
Roman na
Боже, зачем вы куда-то лезете, если ничего не знаете? Никаких "отдельных компиляторов нет". Тот же шланг - один фронт для всего c-family. И это очевидно, потому как и тот же С++ и обжц - это всё расширения сишки. Если и там и там базовым языком является сишка - зачем реализовать сишку отдельно?
То есть вы не в курсе, что не любой код С можно собрать компилятором С++, сохранив поведение, да?
источник

PK

Pavel Kazakov in pro.cxx
Roman na
Боже, зачем вы куда-то лезете, если ничего не знаете? Никаких "отдельных компиляторов нет". Тот же шланг - один фронт для всего c-family. И это очевидно, потому как и тот же С++ и обжц - это всё расширения сишки. Если и там и там базовым языком является сишка - зачем реализовать сишку отдельно?
Не надо понятия подменять: если языки разные, то мы обсуждаем это. Компиляторы и особенности их реализации -- дело другое.
источник

Rn

Roman na in pro.cxx
Ternvein
То есть вы не в курсе, что не любой код С можно собрать компилятором С++, сохранив поведение, да?
Ты поломался и начал тулить мне левые методички? Ты вообщал, что "компиляторы разные", теперь тебе сообщили, что нет. Он один. Тебе нужно отвечать за это. Зачем ты что-то утверждал, если ничего не знаешь?
источник

Rn

Roman na in pro.cxx
Pavel Kazakov
Не надо понятия подменять: если языки разные, то мы обсуждаем это. Компиляторы и особенности их реализации -- дело другое.
Ты так же погуглил? Молодец. Сообщаю новость - реализация определяет всё. Балабольство не определяет ничего.
источник

PK

Pavel Kazakov in pro.cxx
Прекрасно. Как теперь от этой светлой новости мы прыгнем к тому, что языки одинаковые?
источник

Rn

Roman na in pro.cxx
Pavel Kazakov
Прекрасно. Как теперь от этой светлой новости мы прыгнем к тому, что языки одинаковые?
Причём тут языки одинаковые? Ты зафакапился со всем и решил задним числом поменять методичку? Я что сообщал, что языком в С++ является си. Всё остальное - это его расширения. Доказано это реализация. Потому как одна и так же реализация си используется для компиляции любого языка основанного на си. А раз реализация одна - значит и язык один. Всё просто.
источник

PK

Pavel Kazakov in pro.cxx
"Реализация определяет всё" -- офигенно. Т.е. кроссовер и седан на одной платформе -- это одна машина? Moon logic.
источник

N

Neargye in pro.cxx
Alex
> Про другие языки писал, неявно. И я сообщил почему
Вот и я о том же: сам себе придумал - сам с собой поспорил. Настрочил кучу строк, по сути ничего не ответил.

Повторяю третий раз: концепты не позволяют мне реализовать ничего такого, что я не мог бы реализовать раньше без них в С++17. Единственным адекватным ответом мне будет контр-пример, а не три листа писанины на темы, которые я не затрагивал.
// Equivalent, but functionally not equivalent
template<typename T> enable_if_t<(sizeof(T) < 239)> f();
template<typename T> enable_if_t<(sizeof(T) > 239)> f();

// Not equivalent
template<typename T> requires(sizeof(T) < 239) void f();
template<typename T> requires(sizeof(T) > 239) void f();
источник

AK

Alexey Kuznetsov in pro.cxx
PRoSToC0der
а на деструкторе?
crtp база, вызывающая destroy в реализации специализированная от bool/enum. Все можно сделать и на 17 без концептов, новых фич не открылось, просто код говняно выглядит и очень стремные ошибки компиляции.
источник

A

Alex in pro.cxx
Neargye
// Equivalent, but functionally not equivalent
template<typename T> enable_if_t<(sizeof(T) < 239)> f();
template<typename T> enable_if_t<(sizeof(T) > 239)> f();

// Not equivalent
template<typename T> requires(sizeof(T) < 239) void f();
template<typename T> requires(sizeof(T) > 239) void f();
Что значит equivalent?
источник

AK

Alexey Kuznetsov in pro.cxx
Neargye
// Equivalent, but functionally not equivalent
template<typename T> enable_if_t<(sizeof(T) < 239)> f();
template<typename T> enable_if_t<(sizeof(T) > 239)> f();

// Not equivalent
template<typename T> requires(sizeof(T) < 239) void f();
template<typename T> requires(sizeof(T) > 239) void f();
template<typename T> void f( enable_if_t<(sizeof(T) < 239)>* = nullptr );
источник

PK

Pavel Kazakov in pro.cxx
Roman na
Часть, языком в С++ и является си.
Ты написал, что "языком в C++  и является си" -- это как? Вот потрудись объяснить, пожалуйста. Без перескоков на методички.
источник

N

Neargye in pro.cxx
Alex
Что значит equivalent?
у функций одинаковое опбъявление
источник