vladislav
15-20 где-то.
лол, это цена комнаты или студии на окраине города. Однушка стоит 20-25 сорри за офтоп
vladislav
больная тема)
Anton
лол, это цена комнаты или студии на окраине города. Однушка стоит 20-25 сорри за офтоп
Я там потом привёл ссыль на авито. Дальше дело за парнем.
vladislav
не снимешь на авито ничего юзайте stopagent или паблик в вк уютное гнёздышко.
Mikhail
ребят просветите плз. почему такой код по разному принтует в зависимости от компилятора clang++ -std=c++11 -Wall -o ./str48 ./str48.cpp && ./str48 lambda ret: I'm lambda. val : 3 3 и g++ -std=c++11 -Wall -o ./str48 ./str48.cpp && ./str48 I'm lambda. val : 3 lambda ret: 3
Mikhail
int func (int x) { std::cout << u8R"(I'm lambda. val : )" << x << std::endl; return x; } int main() { std::cout << "lambda ret: " << func(3) << std::endl; }
Mikhail
версии: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Mikhail
как по мне эта баг, по идее приоритет func() выше чем «
Mikhail
тем более в любом случае поведение должно быть одинаково в обоих
Mikhail
либо какое то шаманство с опимизацией самого компилятора (хотя явно не указывал флаг)
🐙 Antony
Это исправлено в с++17. До С++17 такое поведение является валидным
Tom
А у меня одно и то же выдает
Tom
GCC видать под С++17 начал подстраиваться
Tom
Начиняя с 7.1 работает
🐙 Antony
Туда даже прием есть: http://en.cppreference.com/w/cpp/language/eval_order cout << i << i++; // undefined behavior until C++17
🐙 Antony
Evaluation order guarantees http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0145r3.pdf
🐙 Antony
GCC видать под С++17 начал подстраиваться
один из разработчиков GCC был очень рад тому, что evaluation order guarantees приняли, так как это чинило у него парочку флапающих тестов, при том без просадки производительности
🐙 Antony
Вот так проще: In summary, the following expressions are evaluated in the order a, then b, then c, then d: a.b a->b a->*b a(b1, b2, b3) b @= a a[b] a << b a >> b
Mikhail
с с++17 флагом ничего не поменялось
Mikhail
g++ -std=c++17 -Wall -o ./str48 ./str48.cpp && ./str48 I'm lambda. val : 3 lambda ret: 3 мб старый компилятор просто
🐙 Antony
Учтите, что порядок вычисления аргументов функции до сих пор не определён, поэтому в a(b1, b2, b3) b2 может вычислиться до b1 и до b3
Mikhail
Разве в gcc 5 есть с++17 флаг? c++1z — да
есть... хотя по идее не должен быть
Mikhail
мб алиас какой нибудь на 1z
Александр
g++ -std=c++17 -Wall -o ./str48 ./str48.cpp && ./str48 I'm lambda. val : 3 lambda ret: 3 мб старый компилятор просто
короче, я осознал. cout << "a" << func(); это cout.operator<<("a").operator<<(func()); так что будет вычислено cout.operator<<("a") далее auto t = func() далее cout.operator<<(t) (17-е)
Александр
Учтите, что порядок вычисления аргументов функции до сих пор не определён, поэтому в a(b1, b2, b3) b2 может вычислиться до b1 и до b3
интересно, что с UCS это превратится в b1.a(b2, b3), где порядок уже иной. интересно, как будут решать
Kirill
Я понимаю, мы тоже с ними сотрудничаем, но теперь они называются группа Кронштадт :)
там и транзас и крондштадт это какбе де факто одна фирма. но в одной радарщики и судовое, во второй хз что. Есть еще транзас авиация, третья фирма.
Kirill
Транзаса больше нет. Сейчас это называется Кронштадт Технологии по-моему.
ни, живет, просто теперь три фирмы, как я сказал выше
🦥Alex Fails
убью превентивно похожего на спамера.
Крылатый
Сомниваюсь, что спамер
🦥Alex Fails
он в 9 групп добавился
Крылатый
🦥Alex Fails
во. приперся в pro.asm
Крылатый
Ага, вижу.
Ivan
Кто хочет пораковать?)
Ivan
Мне тут друг интересную задачку подкинул: http://ideone.com/9hZO4H
Ivan
Что здесь происходит?
Ivan
Там есть интересная вещь...)
доня.
какой-то perl
ep
Это с конкурса самого запутанного C кода?
Ivan
Vladislav
clang-format существенно упрощает задачу http://ideone.com/SUbLf9
Ivan
Ахахаха
ep
C++ кода*
Я про это http://www.ioccc.org/
ep
clang-format существенно упрощает задачу http://ideone.com/SUbLf9
Ну теперь точно понятно, что это c++ даже без namespace std :))
Ivan
Я руками всё парсил 😢
Ivan
С телефона 😞
Ivan
Тренинг
Evgenii
(нет)
Evgenii
Ivan
Окей, обратите внимание на 11 строку уже в отформатированном коде http://ideone.com/SUbLf9
Vladislav
а триграфы разве еще не выпилили из языка?
Vladislav
а, тут не они, похоже
Александр
Мне тут друг интересную задачку подкинул: http://ideone.com/9hZO4H
Это обсуждалось в этом чате несколько раз
Александр
Да. В точности. Тут смесь меток, лямбд, расширения gcc для взятия адресов меток и всё
Ivan
И у нас победитель!
Ivan
Но я не видел этой задачи
Vladislav
наркоманы
Александр
Сейчас найду, я ж сам это расписывал..
Александр
О, ещё расширение в виде исполняемых блоков ({ ... })
Александр
Разговор об этом примере часто заходит, надо хештег какой-то запилить
ep
Разговор об этом примере часто заходит, надо хештег какой-то запилить
Если на собеседовании тебе дают такую задачку - беги. Дальше будет только хуже. :)
Александр
Если на собеседовании тебе дают такую задачку - беги. Дальше будет только хуже. :)
Конечно, был бы стандартный синтаксис, а так - несколько расширений. Несерьёзно