繁体   English   中英

boost :: any是否保存副本或参考/指针?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM