1
이 코드는 컴파일하지만 난 그것이 내가 의도하지 생각하지 않는다, 즉, 이동, 복사하지 마십시오, 당신은 들여다 경우 std::vector<boost::any>
부스트 :: 어떤 움직일 수 있습니까?
boost::any var;
var = std::string("StackOverflow");
std::vector<boost::any> vm;
vm.push_back(std::move(var));
for (auto& i : vm)
{
std::cout << boost::any_cast<std::string>(i) << std::endl; // yes a copy exists
}
std::cout << boost::any_cast<std::string>(var) << std::endl; // but this copy still exists too. was it not moved??
(당신은 여전히 모든
boost::any
을 사용하려는 경우) 이동 할당을 시뮬레이션boost::any::swap
에 사용하는 것이 좋습니다 거라고 내가 뭔가를 놓친다고 생각했다. 하지만 그때 나는이 토론을 보았다. https://svn.boost.org/trac/boost/ticket/6999 – user841550@ user841550 놓칠 게 없다.) - 크기는 254 줄이고 ~ 6k이다. :) 너는 너의 눈을 더 믿어야한다 :) (그리고 자기를 믿는다) – zaufi