cpp 多半不会搞 cow, 因为 cow 内部其实是个 shared_ptr<>,按 cpp 的传统艺能,应该弄个 unique_ptr<> 或者 std::move() 效率更高嘛。shared_ptr<> 弱爆了。
stringview 的用途是 split()
QVector<QStringRef> parts = s.splitRef(":");
for (QStringRef &part: parts) {
....
}
在上面这段代码里面,没有多次给临时字符串变量申请内存空间的开销。很适合用在编译器词法分析,XML 解析这类场合。
【 在 roy (天上掉大饼:学思行言) 的大作中提到: 】
: c++ 20为啥不直接把basic_string改成cow机制的,而是另外又整出一个类来?
: 然后啥时候该用string 啥时候用stringview,误用了会咋样,又增加了坑啊
--
FROM 124.72.118.*