Size: a a a

2020 August 15

LA

Liber Azerate in supapro.cxx
Да-да, я плохо выразился. В любом случае цель абстракций – на время облегчить понимание, пока не дошёл до истины
источник

AS

Anatoly Shirokov in supapro.cxx
Liber Azerate
Да-да, я плохо выразился. В любом случае цель абстракций – на время облегчить понимание, пока не дошёл до истины
но здесь другая опасность - заложить неверное представление можно очень легко
источник

LA

Liber Azerate in supapro.cxx
Anatoly Shirokov
но здесь другая опасность - заложить неверное представление можно очень легко
Я думаю, когда возникает необходимость понять мув-семантику – идут читают Мейерса. А так это баловство всё. Мне откровенно сложно даже представить в прямом смысле перемещение самого объекта
источник

DS

Dmitry Sokolov in supapro.cxx
Anatoly Shirokov
Я придумал хорошую аналогию. Две спичечные коробки (объекты). Одна пустая (создаваемый объект), другая полная (существующий объект). Спички - это значение всех членов данных (состояние). Конструктор перемещения - это пересыпка спичек из полного коробка в пустой. После перемещения полный лишается всего и становится пустым.
А копирование на спичках тогда как объяснить? :) Считаем сколько понадобится древесины, с топором идем в лес...
источник

LA

Liber Azerate in supapro.cxx
Dmitry Sokolov
А копирование на спичках тогда как объяснить? :) Считаем сколько понадобится древесины, с топором идем в лес...
Считываем модель, передаём её в 3d-принтер. Считаем затраты ресурсов на воссоздание теми же, что были затрачены на первый объект
источник

DS

Dmitry Sokolov in supapro.cxx
Liber Azerate
Считываем модель, передаём её в 3d-принтер. Считаем затраты ресурсов на воссоздание теми же, что были затрачены на первый объект
Нет уж, какие спички на принтере, таки в лес (allocation) а потом стругаем копии :)))
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Как решить проблему?
class X
{
 std::random_device rd;
 std::mt19937 rng(rd());
 std::uniform_int_distribution<int> random(0, 1000);
};
Компилер ругается, что так нельзя.
источник

NI

Nikita Ivanov in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Как решить проблему?
class X
{
 std::random_device rd;
 std::mt19937 rng(rd());
 std::uniform_int_distribution<int> random(0, 1000);
};
Компилер ругается, что так нельзя.
че именно нельзя
источник

NI

Nikita Ivanov in supapro.cxx
ошибку в студию
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
1.cpp:9:20: error: unknown type name 'rd'
 std::mt19937 rng(rd());
                  ^
1.cpp:10:45: error: expected parameter declarator
 std::uniform_int_distribution<int> random(0, 1000);
                                           ^
1.cpp:10:45: error: expected ')'
1.cpp:10:44: note: to match this '('
 std::uniform_int_distribution<int> random(0, 1000);
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
1.cpp(9): error C2061: синтаксическая ошибка: идентификатор "rd"
1.cpp(10): error C2059: синтаксическая ошибка: константа
1.cpp(15): error C2065: cout: необъявленный идентификатор
источник

SG

Serg Gorelli in supapro.cxx
скобки убери
источник

SG

Serg Gorelli in supapro.cxx
rd
источник

D

Danya in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Как решить проблему?
class X
{
 std::random_device rd;
 std::mt19937 rng(rd());
 std::uniform_int_distribution<int> random(0, 1000);
};
Компилер ругается, что так нельзя.
{}
источник

NI

Nikita Ivanov in supapro.cxx
а рял
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Спасибо, это работает.
А так?
std::vector<bool> x(1000)
Тут {} не помогут.
источник

NI

Nikita Ivanov in supapro.cxx
я тож подумал а потом решил ну он же не дурак
источник

D

Danya in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Спасибо, это работает.
А так?
std::vector<bool> x(1000)
Тут {} не помогут.
А что здесь не так?
источник

D

Danya in supapro.cxx
Зачем использовать вектор булов?
источник

SG

Serg Gorelli in supapro.cxx
std::mt19937 rng(rd()); после rd скобки убери
источник