当前位置: 首页 > news >正文

网站开发寻找潜在客户的途径网站建设专用图形库

网站开发寻找潜在客户的途径,网站建设专用图形库,商标注册证查询,WordPress不发邮件了二十三、如何让C字符串更快、C的小字符串优化 1、如何让C字符串更快? 如果程序中有很多字符串操作,比如格式化文本(日志记录),那是非常糟糕的,因为字符串操作是很慢的。字符串string和它相关的很多函数很可能会自动分配内存&…

二十三、如何让C++字符串更快、C++的小字符串优化

1、如何让C++字符串更快?
如果程序中有很多字符串操作,比如格式化文本(日志记录),那是非常糟糕的,因为字符串操作是很慢的。字符串string和它相关的很多函数很可能会自动分配内存:



说明:重载new操作符,返回malloc(size),这是基本的内存分配。
从上面例子中可以看出只要构造string字符串,就会自动进行内存分配;string操作也会动态分配内存。而这都会降低程序速度。

解决方案1:std::string_view
std::string_view是C++17中的一个新类,它的本质是指向现有内存的指针,或者说就是一个const char指针,指向别人拥有的字符串,再加上一个大小size。也就是我创建了一个窗口,一个进入现有内存的小视图,而不是分配一个新的字符串。在C++17之前,人们就是这样做的,不是去创建一个自己的字符串,而是观察一个已有的字符串。这样就没有内存分配,按值传递字符串视图是非常轻量级的,因为它只有一个指针和一个大小。下面我们重写一下substr和func函数:

解决方案2:完全不使用std::string
因为上面例子中的字符串是一个静态字符串,没有理由非得用std::string啊,用原始的const char*也很香啊:

解决方案3:最终代码
上面的优化是基于静态字符串的,如果这些字符串数据不仅仅是C++代码的静态类型,比如可能来自一个文件或以某种方式生成的,在这种情况下,我们还是得使用std::string字符串的,所以我们一般会写func函数的两个版本,一个不使用std::string_view版本,一个使用视图:

很多情况下,代码慢的大部分原因就是字符串操作造成的,我们要尽量避免字符串毫无意义的复制。

2、C++的小字符串优化

待续。。。

http://www.yayakq.cn/news/116567/

相关文章:

  • 做网站先做首页免费网站加速软件
  • 建设银行大丰支行网站做视频官方网站
  • 黄浦做网站公司代发关键词排名包收录
  • 阿里巴巴国际站可以做网站吗济南网站优化哪里做的好
  • 网站 错误代码wordpress果酱
  • 微信网站改版价格wordpress怎么做下载文件
  • 网页做的很美的网站上海做网站品牌公司
  • 网站免费推广计划沈阳网站建设三好街
  • 做视频网站需要多少上传怎么做网站的后台
  • 网站后台密码如何破解wordpress md
  • 青创网站首页企业汽车网站建设
  • 建设网站文案标识语哪些网站是动态页面
  • 合肥做网站哪家好dedecms 百度网站地图
  • 网站 防 恶意注册北京注册公司核名网站
  • 黄岛建设局网站wordpress登陆页
  • 建筑建材网站设计费用如何建立app
  • 个人门户网站模板下载电脑h5制作工具
  • 免费响应式网站建设重庆网站建设平台
  • 常州网站开发手机做的兼职网站设计
  • 城乡建设部网站网站建设网站推广优化
  • 做公司网站需要花钱吗济南住房与城乡建设局网站
  • 云网站7china如何做网络营销推广 咨询时代达信(深圳)科技有限公司
  • 外贸网站建站贵州省安顺市网站建设
  • 当前业界主流的网站建设wordpress首页文章摘录
  • 多语言企业网站建设怎样开物流网站
  • 网站建设公司华网天下买赠两年网站开发与维护的内容
  • 查数据的网站有哪些传统行业网站建设
  • 东莞网站优化怎样wordpress 读取文章
  • wordpress网站无法登陆企业网站源码千博
  • 飞色网站商城怎么做wordpress使用不同的页头