gpt4 book ai didi

c++ - 初始化 QString 的最佳方法

转载 作者:行者123 更新时间:2023-12-02 00:43:12 24 4
gpt4 key购买 nike

初始化QString的最佳方法是什么:

   QString name = "name";
// or
QString nameL = QStringLiteral("name");
// or
QString nameLL = QLatin1String("name");
// or something else...

最佳答案

QStringLiteral 将具有最低的运行时开销。它是少数几个具有 O(1) 成本的字面 QString 初始化之一。 QLatin1String 速度相当快,但字符串长度的成本为 O(N)。使用 C 字符串文字进行初始化将具有最高的 O(N) 成本,相当于 IIRC QString::fromUtf8("…")。第二次和第三次初始化还增加 O(N) 内存成本,因为创建了字符串的拷贝(!)。当程序启动时,您在可执行文件大小中所做的任何“节省”都会立即消失:(

通过 QStringLiteral 进行初始化会获胜,尽管您可能希望利用现代 C++11 自定义文字来使其更短。抵制使用宏的冲动:当您用短符号污染全局 namespace 时,这将是一种极其误导的方法。

关于c++ - 初始化 QString 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53280545/

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