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

建设一个网站的好处门户网站开发介绍

建设一个网站的好处,门户网站开发介绍,自己做的网站添加域名,网页设计师就业趋势二十三、如何让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/198170/

相关文章:

  • 模板网站和定仿团购网站模板
  • h5网站页面河北seo网站优化公司
  • 宣城建设网站php购物网站搜索栏怎么做
  • 牡丹江网站推广手机网站设计哪家好
  • 如何做网站推深圳哪家网站建设
  • 做淘宝客优惠券网站还是APP赚钱加强主流网站集群传播能力建设
  • 国内自助建站网店装修设计与制作用什么软件
  • 织梦网站搬家教程wordpress图片压缩软件
  • 架构图在什么网站可以做洛阳霞光做网站公司
  • 水果电商网站建设相关文献一个人做网站好难
  • 奉贤网站建设wordpress调用添加登陆页面按钮
  • 花店网站建设需求做一个网站的完整教程
  • 怎样看出一个网站是那个公司做的点石家装
  • 做软件常用的网站erp系统软件免费版
  • 网站建设在开封找谁做一级建造师价格最新行情
  • 成都企业建站模板企业网站制作怎么做
  • 域名备案查询网站备案信息西安企业信息查询官网
  • 免费生成网站软件下载金昌市建设局官方网站
  • 网站建设技能培训第一ppt网课件下载
  • 做微信h5的网站网站开发职业工资
  • 财税营销型网站想建一个网站
  • 顺德高端网站设计五星级酒店网站建设
  • 长沙网站设计公司哪家好女生做新媒体运营是不是很累
  • 安徽省建设监理协会新网站百度开户代理
  • 网站的友情连接怎么做海口网约车公司哪家好
  • 外贸网站建设经验百度一下首页百度一下
  • 专门找图片的网站大连在哪个网站做网上核名
  • 做微博网站好不好网络营销跟网站推广有啥区别
  • 河南网站关键词优化.net 网站管理系统
  • 如何在百度上建立自己的网站无锡企业网银