Size: a a a

2020 August 04

BD

Berkus Decker in rust_offtopic
polunin.ai
ну вот
Foo x = y;
может быть имплисинтным
Foo x = new Foo(y);
ноуп
источник

Т8

Т-34 85 in rust_offtopic
Berkus Decker
так и есть. но можно сказать что у него дефолтная реализация. которая как раз таки побитовое копирование
точно?

The copy constructor for class T is trivial if all of the following are true:

   it is not user-provided (that is, it is implicitly-defined or defaulted) , and if it is defaulted, its signature is the same as implicitly-defined (until C++14);
   T has no virtual member functions;
   T has no virtual base classes;
   the copy constructor selected for every direct base of T is trivial;
   the copy constructor selected for every non-static class type (or array of class type) member of T is trivial;
источник

BD

Berkus Decker in rust_offtopic
polunin.ai
там вызывается new Foo(y), это клонировани?
не вызывается, new аллоцирует память динамически, Foo x = y это эквивалент Foo x(y);
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
не магия, а тип переменной. Если ты l-value ссылку хуяришь или значение, то будет копирование, если r-value, то мув. Но вообще, это оператор присваивания, а конструктор при объявлении срабатывает. Если ты это делаешь рядом, то компилятор оптимизирует, конечно
lvalue/rvalue/lrvalue/ll(4)value/.. - я не хочу про это думать
источник

BD

Berkus Decker in rust_offtopic
Т-34 85
точно?

The copy constructor for class T is trivial if all of the following are true:

   it is not user-provided (that is, it is implicitly-defined or defaulted) , and if it is defaulted, its signature is the same as implicitly-defined (until C++14);
   T has no virtual member functions;
   T has no virtual base classes;
   the copy constructor selected for every direct base of T is trivial;
   the copy constructor selected for every non-static class type (or array of class type) member of T is trivial;
T(T const& copy) = default;
источник

AZ

Alex Zhukovsky in rust_offtopic
Berkus Decker
так и есть. но можно сказать что у него дефолтная реализация. которая как раз таки побитовое копирование
но в расте я не могу случайно использовать клон вместо копи, а вот с такой реализацией не думаю что меня что-то остановит
источник

BD

Berkus Decker in rust_offtopic
Alex Zhukovsky
но в расте я не могу случайно использовать клон вместо копи, а вот с такой реализацией не думаю что меня что-то остановит
а такое говно сплошь и рядом в плюсах происходит
источник

BD

Berkus Decker in rust_offtopic
радует еще что иногда вместо копи конструктора вызывается сначала дефолтный конструктор а потом оператор копирования. и наоборот
источник

BD

Berkus Decker in rust_offtopic
Foo x = y; нихуя не оператор копирования вызывает
источник

N

Neefany in rust_offtopic
error: failed to download from `https://crates.io/api/v1/crates/rand/0.5.6/download`

Caused by:
 [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - ������� ������ �� ������ ���������� �������� �
источник

BD

Berkus Decker in rust_offtopic
Neefany
error: failed to download from `https://crates.io/api/v1/crates/rand/0.5.6/download`

Caused by:
 [35] SSL connect error (schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - ������� ������ �� ������ ���������� �������� �
русский езыг детектет
источник

N

Neefany in rust_offtopic
да вроде везде инглиш
источник

Т8

Т-34 85 in rust_offtopic
Berkus Decker
T(T const& copy) = default;
а про дефолтную

For non-union class types (class and struct), the constructor performs full member-wise copy of the object's bases and non-static members, in their initialization order, using direct initialization.
источник

BD

Berkus Decker in rust_offtopic
Т-34 85
а про дефолтную

For non-union class types (class and struct), the constructor performs full member-wise copy of the object's bases and non-static members, in their initialization order, using direct initialization.
ну и чем это противоречит тому, что я сказал.

побитовое копирование
источник

N

Neefany in rust_offtopic
и всё же,
что делать?
источник

BD

Berkus Decker in rust_offtopic
Neefany
и всё же,
что делать?
починить свой интернет
источник

N

Neefany in rust_offtopic
у меня он работает
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
вопрос зачем это учить если растовый способ намного проще
да, намного проще. Но есть сомнения, что все кейсы такая схема покрывает. Впрочем, это только сомнения, может, и всё заебись
источник

BD

Berkus Decker in rust_offtopic
Neefany
у меня он работает
из ком строки cargo b запускается? какая платформа?
источник

BD

Berkus Decker in rust_offtopic
Т-34 85
да, намного проще. Но есть сомнения, что все кейсы такая схема покрывает. Впрочем, это только сомнения, может, и всё заебись
в расте нет наследования, поэтому вся эта хуерга с конструкторами не очень актуальна
источник