C++11 standartlarına göre aşağıdaki C++ programı çalıştırıldığında bu programın çıktısı ne olur?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <iostream> #include <utility> struct Member { Member() { std::cout << "1"; } Member(const Member&) { std::cout << "2"; } Member(Member&&) { std::cout << "3"; } }; struct Owner { Member m; Owner() { std::cout << "4"; } Owner(const Owner& b) : m(b.m) { std::cout << "5"; } Owner(Owner&& b) : m(b.m) { std::cout << "6"; } }; int main() { Owner b1; Owner b2 = std::move(b1); } |
Sorunun yanıtı şu seçeneklerden biri de olabilir:
Sentaks hatası (derleme zamanı hatası)
Tanımsız davranış.
Derleyiciye göre değişir.