[英]Does boost::any save a copy or reference/pointer?
以下代码安全吗?
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);
复制rhs,丢弃先前的内容,以便的新内容在类型和值上均与rhs等效。
所以是的,这样做是安全的。 将存储字符串的副本,而不是对其的引用。
是的。 boost::any
通过制作一个拷贝,假设类型满足需要的一切Copyable
的概念。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.