1
다음 코드는 안전한가요?boost :: any는 사본이나 참조/포인터를 저장합니까?
boost::any any_value;
{
std::string s = "HelloWorld";
any_value = s;
}
std::string ss = any_cast<std::string>(any_value);
다음 코드는 안전한가요?boost :: any는 사본이나 참조/포인터를 저장합니까?
boost::any any_value;
{
std::string s = "HelloWorld";
any_value = s;
}
std::string ss = any_cast<std::string>(any_value);
Boost.Any에서 문서 : 새로운 콘텐츠 우 양쪽에 입력 값과 등가가되도록
template<typename ValueType> any & operator=(const ValueType & rhs);
는, 이전 콘텐츠를 폐기 우축의 카피를
.
그래, 그렇게하는 것이 안전합니다. 문자열의 복사본이 저장되며 참조는 저장되지 않습니다.
예입니다. boost::any
은 유형이 Copyable
개념을 충족한다고 가정하고 복사본을 만들어 모든 것을 취합니다.