- 主题:爱国为的c++水平暴露了
qtcore当标准库用毫无压力
我建议qt官方弄一个qtcore的裁剪工具
【 在 here080 的大作中提到: 】
: QT适合UI程序,不适合很多别的场景。
:
--
FROM 119.103.128.*
QString是设计的最好的c++string
std::string根本就不能叫string,就是个vector<char>,基本功能都没有谈效率没意义
std::wstring这玩意有人用?
qstring的开销大只在于构建的时候,平时字符串处理效率不差
【 在 here080 的大作中提到: 】
: 当然不行。QString那套在现在的编译器下效率亏损太多了。
: C++是0开销抽象,可以做到比C语言更快。这是标准库必须支持的。
:
--
FROM 119.103.128.*
btye buffer最好的还是用std::vector<uint8_t>
用std::string和qstring都是异端
而且qt也有qbytearray可以当byte buffer,有过有时候我不喜欢这些类都做成cow的尤其是做produce-comsume时,确实有时候也不得不用stl的原生容器。
【 在 here080 的大作中提到: 】
: 你看,你考虑的string就是处理wchar的。
: 然而string同时还兼任着byte buffer的角色。
: 很多时候得大量随机读写的。
: ...................
--
FROM 119.103.128.*
没关系,span一出后面大家都有view。。。
【 在 here080 的大作中提到: 】
: 你要知道,新标准下有string_view,这使得使用std::string配合string_view成了效率极高的方式。
:
--
FROM 119.103.128.*
qstring本身就是gui里用的,效率低点就低点,接口无敌可弥补
非ui线程用qstring的不算多,一般也就文件系统路径什么的,有io的情况这点性能损失也忽略不计了
【 在 jjfz 的大作中提到: 】
: 创建一个空的QString都有引用计数的开销,多线程下效率不咋的
:
--
FROM 119.103.128.*
我否真没怎么用过qstringref,因为qstring是cow的感觉有点多余
何况绝大部分情况根本就不在乎这点效率
【 在 here080 的大作中提到: 】
: 这个不行的,太重了。
: string_view的关系是可以搞定c string,还可以当成常量用。
: 另外,QString不是COW吗?那QStringRef的生命周期就很容易成为一个大坑啊……
: ...................
--
FROM 119.103.128.*