ep
Я вообще не понимаю, зачем тратить ресурсы на расширения компилятора?
Сколько человекочасов на это потратили и сколько из них реально используются?
Ivan
Их же не от хорошей жизни пишут
Ivan
Кому-то было нужно
Александр
Используют инициализаторы из C99, как минимум
Александр
Другие полезные расширения как-то и не вспомню
Александр
О, массивы переменной длины. Студенты их обожают
Александр
Зато сколько часов они "сэкономили", не используя vector
Evgenii
Vladislav
Vladislav
бывает нужно
Vladislav
alloca не предлагать!
Vladislav
Александр
Но предложу alloca
Vladislav
Но предложу alloca
это же идеальный инструмент для отстреливания ног, в духе олдскульной сишечки
Александр
Чего это?
Александр
Ничем не хуже malloc
Vladislav
хуже - ты не можешь его явно освободить
Александр
Это да, и его в аллокатор не завернуть
Vladislav
см, например, такой код:
for (size_t i = 0; i < 1000000; ++i) {
int* ar = alloca(i);
// some processing
}
Vladislav
внимание, вопрос: на какой итерации у тебя кончится стек?
Александр
Это ясно
Sergey
Могу дать оценку. От 1 до 999999
Sergey
Dumitru
Dumitru
тот же RAII (почти)
Sergey
Аллока вообще юзают в продакшене?
Vladislav
Это ясно
а теперь более веселый пример
void foo(size_t i) {
int* ar = alloca(i);
// do smth
}
void bar() {
for (size_t i = 0; i < 1000000; ++i) {
foo(i);
}
}
Vladislav
Vladislav
Sergey
Эксепшен наверняка порушит такой стек, нет?
Vladislav
а вот MSVC покажет ворнинг, но таки заинлайнит
Александр
Vladislav
это был спам-бот, добавляющий всех к себе на канал (https://t.me/spybiz). Просьба всех, кого он туда добавил, зарепортить его как спаммерский
Vladislav
Предлагаю пройти к админам чата в личку и спросить, зачем они спамят?
@NikitaYrko
@sabcoin
доня.
доня.
можно скрин плес
а то он отрицает (один из них)
Vladislav
Vladislav
доня.
спс
доня.
Anonymous
Хэй, всем привет. Киньте линк на чат для java, пожалуйста.
Anonymous
Anonymous
вообще, явка — фу, го в C++)
Anonymous
Burado
Java кстати вообще не понравилась, даже при том, что С# нравится.
Processor
а мне typescript понравился
Processor
получился какой-то java-java-script
Anonymous
😛
Anatoly
Эйнштейн?
Anonymous
+
Matwey
Господа, а где узнать полный список pro. чатов?
доня.
вот вроде: https://t.me/proDOT
Ned
/help@FailsBot
🦥Alex Fails
Danylo
🦥Alex Fails
вот вроде: https://t.me/proDOT
плохо то, что это неполный список вообще( а автор продался( я пилю новый канал, скоро в своем канале скину анонс
🐙 Antony
Тут интересная тема всплыла в https://stdcpp.ru/proposals/59665faf-bdfe-4182-9d36-46f7d39feb4f
Хочется сделать так, чтобы guaranteed copy elision работал "сквозь" вызов функции: godbolt.org/g/V3edfK
Проблема в том, что если мы передаём prvalue в функцию, оно становится xvalue. Это убивает guaranteed copy elision + при этом меняется последовательность вызовов.
foo function(); // returns prvalue
void func1(foo&& f) { // f is an xvalue
foo f0 = std::move(f);
}
Есть идеи, как скрестить слона со свиньёй, ничего не поломав?
Nik
Александр
🦥Alex Fails
🐙 Antony
При инлайне функции првалуе остается им?
Неа. Вот можно попробовать на это завязаться. Но поломает пользовательский код:
struct foo {
foo() { std::this_thread::sleep_for(10s); }
};
inline insert_foo(foo&& f) {
std::unique_lock l(mutex);
data.insert(std::move(f))
}
Если оставлять prvallue, то 10 секунд мы будем спать под локом. Теперешнее поведение - 10 секунд спим, потом под локом вставляемся
Square
Square
там актуальнее
FailsBot
/help@FailsBot
USAGE:
/help - prints this message;
/vzhuh [message] - do vzhuh;
/start - info about bot.
Денис
/vzhuh@FailsBot
FailsBot
∧_∧
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆
Danylo
FailsBot
∧_∧
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆
Рустем
Pavel
/vzhuh@FailsBot Это вжух!!!
FailsBot
∧_∧
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆ Это вжух!!!
🦥Alex Fails
#flood
Igor
Igor
#offtop: ни у кого нет под рукой хайреса этого чуда?) именно исходной фотки, не перепечатки
Maxim
Я пытаюсь разобрать это, но компилятор не понимает конструкцию (&&$<&&_)