我觉得吧,要么像rust那样编译器保证ref不会跑出作用域;要么像大部分语言用gc。
两个都没有,那C++里最好ref从语法上一看就是ref,无论定义还是使用。从这个角度引用就不如指针。
从这个角度你可以string_view,但是如果它像iterator一样通过*,->访问的话,可能比现在这样用法特别像string好一些。
当然也有反方面意见:如果养成靠语法来识别ref的习惯,可能也挺危险的,不可靠。
【 在 vonNeumann 的大作中提到: 】
: C++98 就允许 basic_string 使用 COW,C++11 好不容易禁止了,又改回去?
: 再说 COW 也解决不了无 copy 引用字符串常量、无 copy 引用字符串的子串,这两个场景才是 string_view 的重点。
: 标准库没有 string_view 的时候,一大把 C++ 库都自己造了一个 StringRef/StringPiece/StringView,这个需求是真实存在的。
: ...................
--
修改:ilovecpp FROM 101.82.163.*
FROM 101.82.163.*