
Danila
22.06.2017
12:07:14

Sergey
22.06.2017
12:07:18
Может еще на магистратуру не дают отсрочку?))))0

Дед Пегас
22.06.2017
12:07:20
Ваще, развели ОФФТОП.

Sergey
22.06.2017
12:07:30
Потому что она «на один раз»?

Google

Anna
22.06.2017
12:07:33
сорян, это я(

Дед Пегас
22.06.2017
12:07:40

Anna
22.06.2017
12:07:41
радуюсь, что защитилась

Владислав
22.06.2017
12:07:43

Дед Пегас
22.06.2017
12:07:52
За левую фигню отсрочка не даётся.

Alexey
22.06.2017
12:07:54
На магистратуру даётся.

reagentoo
22.06.2017
12:07:54
можно тупо забить на военку, без всяких аспирантур. военкоматы не охотятся за головами)

Alexey
22.06.2017
12:08:11

reagentoo
22.06.2017
12:08:15
но, конечно чем больше стремающегося быдла, тем хуже.

Sergey
22.06.2017
12:08:17

Дед Пегас
22.06.2017
12:08:38

Владислав
22.06.2017
12:08:55
ну поступай в более-менее нормальный вуз
и там 100% всё будет аккредитовано

Google

Sergey
22.06.2017
12:09:09

Владислав
22.06.2017
12:09:17
ты тоже :DDDDDDDDDDDD

reagentoo
22.06.2017
12:09:18
Если не хочешь идти в армейку - не ходи, если у тебя есть самоуважение, считаю.

Дед Пегас
22.06.2017
12:10:28
#flood

Group Butler [beta]
22.06.2017
12:10:28
#flood
Предлагаю обсудить во флудилке (@fludpac)

Alexander
22.06.2017
12:19:31

Evgeniy
22.06.2017
12:37:21
А у нас отсрочку на учебу только в комплекте с ~3-летним контрактом можно получить

Александр
22.06.2017
12:45:06

Anna
22.06.2017
13:31:34

Ruslan
22.06.2017
13:39:21

Дед Пегас
22.06.2017
13:39:39
Хуситов?

Ruslan
22.06.2017
13:40:52
Хуситов?
https://ru.wikipedia.org/wiki/Хасид

Azoyan
22.06.2017
13:51:37
Парни, расскажите про temporary lifetime extension

Anatoly
22.06.2017
13:57:49
идея очень простая
const Foo& foo = Foo(); // здесь мы продлеваем время жизни временного объекта до конца жизни foo

Alexander
22.06.2017
14:00:21
надо бы опрос провести где-нибудь на предприятии, где много плюсовиков и пишут много несложного крестового кода, сколько человек знает про данную фичу

Anatoly
22.06.2017
14:02:09
я своим показывал фокус, спрашивая будет вызван деструктор наследника или нет:
class base {};
class der : public base {
public:
~der() {std::cout << "~der";}
};
....
const base& b = der();

Azoyan
22.06.2017
14:02:11
Спасибо
Нет

Anatoly
22.06.2017
14:02:25
многие начинали травить по отсутствие виртуального деструктора

Azoyan
22.06.2017
14:02:40
Оо

Google

Azoyan
22.06.2017
14:02:52
Аааа
конст референс детекдет
И что это означает?

Anatoly
22.06.2017
14:04:08
стандарт гарантирует корректное удаление временного объекта, и деструктор der будет вызван, поскольку здесь нет срезки

Azoyan
22.06.2017
14:04:31
Люблю с++

Anatoly
22.06.2017
14:05:28
чувствуешь себя избранным? :)))

Constantine
22.06.2017
14:05:32
боже
только не продление жизни временного объекта в связи с наличием ссылки)

Azoyan
22.06.2017
14:07:07
Так стоп
cpp.sh/6r3sj

Aidar
22.06.2017
14:10:07

Azoyan
22.06.2017
14:11:06
В чем разница? Я просто смотрю ассемблерный код в godbolt.com и для const reference он генерирует больше кода. Без оптимизаций -O0

Aidar
22.06.2017
14:15:21
и загрузку

Anatoly
22.06.2017
14:16:23
сконструированы два объекта Point и инициализирована ссылка p2
это все что там может быть

Azoyan
22.06.2017
14:21:30
Фиолетовые это const Point& P2 = Point ();
gcc7.1

Google

Anatoly
22.06.2017
14:23:44
ссылка реализуется указателем, как раз ты видишь его инициализацию
первых три мува - конструирование временного объекта
потом иницилизация ссылки lea + mov

Azoyan
22.06.2017
14:24:52
Ну ок. А выше жёлтый просто Point P1 = Point ();

Anatoly
22.06.2017
14:25:25
салатным

Admin
ERROR: S client not available

Azoyan
22.06.2017
14:25:32
Всего три mov'a

Anatoly
22.06.2017
14:25:37
да, конструирование p1
а после розовым putchar

Aidar
22.06.2017
14:25:47
инициализация

Azoyan
22.06.2017
14:26:59
Но, справедливости ради в clang 4.0 const reference занимает меньше инструкций

Anatoly
22.06.2017
14:27:24
на логическом уровне будет все то что я описал выше

Arseny
22.06.2017
14:27:42
Еще есть типичная ошибка:
const string& f(const string &x) {return x;}
const string &tmp = f(string("hello"));
Вот так писать не стоит.

Anatoly
22.06.2017
14:27:45
конструирование p1, конструирование временного объекта, инициализация ссылки
так и не скомпилируется
это только MSVC хавает
и позволяет иницилизировать не константную ссылку временным объектом

Arseny
22.06.2017
14:29:12
Там было маловато const-ов.

Anatoly
22.06.2017
14:29:46
да, это совсем другой пример

Azoyan
22.06.2017
14:29:49
Короче, для примитивных типов нет разницы

Google

Anatoly
22.06.2017
14:30:11

Azoyan
22.06.2017
14:30:36
В смысле, нет смысла так делать

Anatoly
22.06.2017
14:33:06
ну, получается ни к чему, а и то просто больше памяти на стеке заберет ссылка, нежели чем примитивный типа

Azoyan
22.06.2017
14:39:03
Но погодите, разве Point p = Point(), не то же самое, что и Point p{};

Anatoly
22.06.2017
14:39:42
тоже, в чем вопрос?
ссылка в памяти представлена указаталем, там лежит адрес временного объекта

Azoyan
22.06.2017
14:41:49
А смысл от временного объекта? Если можно создать не временный? Дешевле будет, так как ссылку хранить не надо

Anatoly
22.06.2017
14:43:31
когда не было move семантики, часто таким образом обходили тяжеловестные конструкторы копирования, убирая лишнее копирование

Azoyan
22.06.2017
14:43:51
Аааааааааааааааа
Ну всё.
То есть раньше это разные вещи были
Но погодите, разве Point p = Point(), не то же самое, что и Point p{};

Alexander
22.06.2017
14:45:33
по-плохому - это ctor + operator=

Azoyan
22.06.2017
14:46:33
Но сейчас то всё ок

Alexander
22.06.2017
14:46:51
ну надо видеть класс Point
оно по-всякому быть может