Copy ellision и 17 стандарт

125
07 октября 2019, 05:20

Возникло несколько вопросав в связи с copy ellision, c++17 и использованием компилятора clang++-8.

1) copy ellision при передаче временного объекта в функцию - это введено 17 стандартом?

2) компилятор (clang++-8) выдает предупреждение в данном случае:

my_fun(std::move(std::string("string")));

о том, что сдесь работает copy ellision (тобишь move не нужен). Но, в случае, если работаю с типам QPixmap (qt512) в точно такой же ситуации предупреждение не выдается. С чем это может быть связано?

READ ALSO
Как ввести строку посредством scanf?

Как ввести строку посредством scanf?

допустим есть структура

93
Отличие scanf/printf от cin/cout в С++

Отличие scanf/printf от cin/cout в С++

В чём основное отличие этих способов ввода/вывода? Можно ли в C++ использовать спокойно функции scanf/printf или есть какие-то подводные камни?

125
GetHBITMAP утечка памяти

GetHBITMAP утечка памяти

Почему здесь происходит утечка памяти?

109
main.cpp:10:24: error: cannot convert ‘’ to ‘std::string** {aka std::basic_string**}’ in assignment [закрыт]

main.cpp:10:24: error: cannot convert ‘’ to ‘std::string** {aka std::basic_string**}’ in assignment [закрыт]

Указатели - это не массивыНельзя просто положить набор элементов "в указатель" - сначала вам нужно выделить память через new

144