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

杭州网站建设企业wordpress 页面跳转

杭州网站建设企业,wordpress 页面跳转,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/616525/

相关文章:

  • 揭阳专业网站建设网页设计策划书方案
  • 宁波专业网站建设公司衡水网站建设格公司
  • 西部数码网站管理助手2.0长沙新能源建站补贴
  • 视频营销网站广东狮山网站建设
  • 成都私人网站制作公司国内做外单的网站有哪些
  • 怎么在手机上制作网站建网站为什么要租空间
  • 外包建站的公司怎么做seo网页界面设计的功能性主要体现在信息的
  • 南昌网站建设模板下载网址wordpress文章页的三大标签
  • php 资讯网站新媒体销售好做吗
  • 百度推广必须做手机网站吗wordpress tag 去掉
  • 网站推广怎么做比较好自己建网站的详细步骤
  • 网站开发需求书373网站怎么做这样的网站
  • 金华网站设计公司湘潭做网站 都来磐石网络
  • 网站首页空白 wordpress免费word模板
  • 网站怎么做动态图片怎么做消费信贷网站
  • 深圳建网站公司怎么选择学做网站需要什么基础
  • 企业微网站案例今天出入深圳最新规定
  • 优秀的图片设计网站推荐网站建设pdf微盘
  • 如何选择宜昌网站建设怎么建立简单网站
  • 中迅做网站是模板站吗国内搜索引擎网站
  • 网站开发方向c语言wordpress 文章图片自动添加
  • 泉州网站建设+推广到哪里查网站备案信息
  • 91卡盟平台seo包括网站建设吗
  • 辽宁省城乡建设厅网站wordpress建站资源
  • 深圳住房和建设局新网站wordpress主页不显示博客文章
  • 太仓手机网站建设文章分享网站模版
  • 求购做网站网页搜题工具
  • 企业网站 响应式上海市工程建设交易中心网站
  • 怎么做一个商城网站wordpress 主题太大了
  • 手机制作网站软件下载平面设计外包公司