gpt4 book ai didi

c++ - const_string 作为映射键;制作缓冲拷贝?

转载 作者:行者123 更新时间:2023-11-28 08:09:36 25 4
gpt4 key购买 nike

整点const_string避免在不应更改字符串时进行不必要的复制。

但是,在某些情况下,您无法保证 const char* 源的生命周期比 const_string 长,例如,如果使用 const_string 作为映射的键,如果某些 const char* 被回收,您将有非常有趣的段错误需要在您之前进行调试。

有没有办法告诉 const_string,嘿 friend ,请保留这个 const char* 的私有(private)拷贝?还是 std::string?

我会引用 a previous question所以你明白我在追求什么。

最佳答案

什么不起作用?通过查看代码(文档充其量是平庸的),我可以看到 const_string(charp) (相对于 const_string(boost::cref(charp)) charpchar* 应该复制数据。另一种可能性是使用 const_string(Iterator begin, Iterator end) 构造函数。(请参阅 storage.hppconst_string_storage 的双参数构造函数,第 153 行)

他们甚至在他们的测试中使用一个临时的 std::basic_string 来初始化 const_string(老实说我还没有运行它),所以它应该 正常工作。

关于c++ - const_string 作为映射键;制作缓冲拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9453302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com