Size: a a a

2020 August 26

🦊

🦊fox.cpp in C++ Together 2.0
второй, в первом случае ты требуешь документацию контракта, что объект забирает вектор
источник

🦊

🦊fox.cpp in C++ Together 2.0
чего нет во втором случае
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
второй, в первом случае ты требуешь документацию контракта, что объект забирает вектор
То есть, разработчик не знает что дальше конструктор высосет данные?
источник

🦊

🦊fox.cpp in C++ Together 2.0
либо ты получил move-constructed значение, либо просто какое-то значение, которое будет копией
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
То есть, разработчик не знает что дальше конструктор высосет данные?
документацию никто не читает
источник

🦊

🦊fox.cpp in C++ Together 2.0
поэтому конструкции языка лучше документации
источник

RM

Roy Mustang in C++ Together 2.0
Значит все таки два мува
источник

🦊

🦊fox.cpp in C++ Together 2.0
так-то да
источник

RM

Roy Mustang in C++ Together 2.0
Понял, спасибо
источник

RM

Roy Mustang in C++ Together 2.0
В конструкторе указывать && ?
источник

🦊

🦊fox.cpp in C++ Together 2.0
принимай по значению, если не хочешь писать два конструктора
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
принимай по значению, если не хочешь писать два конструктора
Да тут проблема в другом
источник

RM

Roy Mustang in C++ Together 2.0
аа ну да
источник

RM

Roy Mustang in C++ Together 2.0
Если приму по значению, то забыв мувнуть там будет копия
источник

RM

Roy Mustang in C++ Together 2.0
и я точно не сломаю прошлый вектор
источник

p

pepeground_bot in C++ Together 2.0
не понял. я не понял к. точно!
источник

RM

Roy Mustang in C++ Together 2.0
В случае с && там всегда мувнется старый вектор, даже если забудут мувнуть изначально
источник

🦊

🦊fox.cpp in C++ Together 2.0
мне интересно, а конструктор с const T& или T имеет приоритет над T&& или наоборот
источник

🦊

🦊fox.cpp in C++ Together 2.0
при передачи туда lvalue
источник

🦊

🦊fox.cpp in C++ Together 2.0
так-то lvalue может стать rvalue, скажем так
источник