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

佛山营销网站建设推广google谷歌搜索主页

佛山营销网站建设推广,google谷歌搜索主页,北京有哪些网站公司,铜梁集团网站建设概念 使用const string&作为参数是先使用字符串字面量编译器会创建一个临时字符串对象然后创建std::string。 或者一个函数提供char*和const string&参数的两个版本函数,不是优雅的解决方案。 于是需要一个只使用内存不维护内存的类。 原理 在visual s…

概念

使用const string&作为参数是先使用字符串字面量编译器会创建一个临时字符串对象然后创建std::string。

或者一个函数提供char*和const string&参数的两个版本函数,不是优雅的解决方案。

于是需要一个只使用内存不维护内存的类。

原理

在visual studio 2019中查看std::string_view的源码。

using string_view = basic_string_view<char>;

std::string_view构造时只使用内存,没有析构函数。

    constexpr basic_string_view(_In_reads_(_Count) const const_pointer _Cts, const size_type _Count) noexcept // strengthened: _Mydata(_Cts), _Mysize(_Count) {
#if _CONTAINER_DEBUG_LEVEL > 0_STL_VERIFY(_Count == 0 || _Cts, "non-zero size null string_view");
#endif // _CONTAINER_DEBUG_LEVEL > 0}

使用内存:

    _NODISCARD constexpr const_iterator begin() const noexcept {
#if _ITERATOR_DEBUG_LEVEL >= 1return const_iterator(_Mydata, _Mysize, 0);
#else // ^^^ _ITERATOR_DEBUG_LEVEL >= 1 ^^^ // vvv _ITERATOR_DEBUG_LEVEL == 0 vvvreturn const_iterator(_Mydata);
#endif // _ITERATOR_DEBUG_LEVEL}

其他,std::string_view没有c_str();函数,只有data();,其他函数与std::string类似,新增加了remove_prefix();和remove_suffix();函数来修改使用内存的区间。

    constexpr void remove_prefix(const size_type _Count) noexcept /* strengthened */ {
#if _CONTAINER_DEBUG_LEVEL > 0_STL_VERIFY(_Mysize >= _Count, "cannot remove prefix longer than total size");
#endif // _CONTAINER_DEBUG_LEVEL > 0_Mydata += _Count;_Mysize -= _Count;}constexpr void remove_suffix(const size_type _Count) noexcept /* strengthened */ {
#if _CONTAINER_DEBUG_LEVEL > 0_STL_VERIFY(_Mysize >= _Count, "cannot remove suffix longer than total size");
#endif // _CONTAINER_DEBUG_LEVEL > 0_Mysize -= _Count;}

应用

#include <iostream>
#include "string_view"
using namespace std;
void main() {const char* p = "aaa";std::string_view sv(p,strlen(p));cout << sv.data() << endl;
}

参考:

《c++20高级编程第5版》

http://www.mmbaike.com/news/69982.html

相关文章:

  • 餐饮vi设计手册sem优化是什么意思
  • 桂林象鼻山离哪个高铁站近百度搜索词排名
  • 福州专业做网站的公司有哪些站群seo
  • 案例展示网站如何优化网页加载速度
  • 手机百度网站建设如何提高seo关键词排名
  • 网站打开速度慢的原因企业宣传推广方案
  • 常州网官网百度seo服务公司
  • 做网站的心得湖南靠谱seo优化公司
  • 建筑行业网站运营方案谷歌搜索引擎下载安装
  • 微信网页宣传网站怎么做的软件开发公司排名
  • 网站建设 运营费用个人网站设计图片
  • 企业做网站公司怎么创建网站快捷方式到桌面
  • 义乌外贸网站开发seo网站关键词优化方式
  • 全国连锁的装修公司有哪些某个网站seo分析实例
  • 如何做网站站内搜索海外发布新闻
  • 专业网站优化互联网广告平台代理
  • 做网站的内容样本来客seo
  • 网上接网站开发类订单的平台外包推广公司
  • 登陆到wordpressseo工作流程
  • 网站忘记备案长沙网络营销外包哪家好
  • 网页是怎么做的东莞网络排名优化
  • 城建网官网seo提高网站排名
  • 阿里云代理网站怎么做百度排行榜风云榜
  • 网站建设改版升级网站广告策划
  • 网站开发和报价方案网络营销的常用工具
  • js网站统计爱站网长尾关键词挖掘查询工具
  • 可以做网站高仿服装吗seo公司彼亿营销
  • 美橙网站注册一句吸引人的广告语
  • 视频网站怎样做小程序定制开发
  • 北京微信网站制作电话长沙seo搜索