C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 用于提供高效串联的字符串的模板库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一个等效于字符串的闪电战库(即通过延迟字符串构建直到读取整个表达式来提高字符串构造/操作性能的库)?

Blitz通过模板元编程提高矩阵/向量操作的速度,在编译时从A B C等表达式构建“语法树”,然后评估语法树.例如,这种方法可以提高字符串连接的性能,因为在看到类似s1 s2 s3的表达式之后,结果的大小将是已知的,这样内存分配和复制可以在一个步骤中完成,而不是首先为s1 s2分配内存,复制,为(s1 s2)s3分配内存,然后再次复制.

解决方法

我知道QString使用表达式模板来确定最终字符串的大小,并事先有效地分配它.我认为底层代码并不那么难,并且可以与大多数现有的字符串类一起使用.从Qt 4.8手册:

看一下wiki on the subject的技术示例.

请注意,这确实会干扰像decltype(a b)或auto c = a b这样的东西,其中使用表达式模板运算符,因为返回的类型是代理类型,而不是a或b的原始类型.

大佬总结

以上是大佬教程为你收集整理的c – 用于提供高效串联的字符串的模板库全部内容,希望文章能够帮你解决c – 用于提供高效串联的字符串的模板库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。