都生成QVector了,起码一次内存分配
真讲究效率,还是strchr函数走起吧
对于类似lex/yacc这类词法分析,在Lexer里保存一个std::vector<string*>队列
用的时候申请一个string*,clear就行,不用的时候返回
于是string数据只需要copy,无需频繁申请内存
【 在 hgoldfish (老鱼) 的大作中提到: 】
: cpp 多半不会搞 cow, 因为 cow 内部其实是个 shared_ptr<>,按 cpp 的传统艺能,应该弄个 unique_ptr<> 或者 std::move() 效率更高嘛。shared_ptr<> 弱爆了。
: stringview 的用途是 split()
: QVector<QStringRef> parts = s.splitRef(":");
: ...................
--
修改:jjfz FROM 111.197.238.250
FROM 111.197.238.250