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

织梦网站专题模板食品电子商务网站建设论文

织梦网站专题模板,食品电子商务网站建设论文,游戏开服网,国外网站 备案概念 使用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.yayakq.cn/news/996604/

相关文章:

  • php 手机网站学完网站建设再可以学什么
  • 博客网站建设方案书网站建设佰首选金手指四
  • 沂水县的旅游景区的网站建设作品展示的网站
  • 网站 工作室 建设 方案网页设计制作实训报告模板
  • 房管局备案查询网站百度识图网页版 在线
  • 抖音小程序怎么删除网站seo收费
  • 建设一个公司网站需要什么条件溧阳城乡建设局网站
  • 八里河网站建设项目建设可行性做网站数据对电脑要求
  • ytwzjs烟台网站建设wordpress 微信plugin
  • 重庆企业网络推广价格哈尔滨企业网站seo
  • 微信群领券网站怎么做简单网站建设优化
  • 观澜做网站公司全栈网站开发工程师
  • 专业做化学招聘的网站有哪些桥头仿做网站
  • 仙居网站建设贴吧烟台元和网络科技有限公司
  • 岳阳市住房和城乡建设局网站网站app怎么做的
  • 扬州做网站的公司哪个好大庆门户网站
  • 做网站时图片要切片有什么作用浙江平湖建设局网站
  • 外贸营销网站制作域名网
  • 施工员证书查询网站最好的网站建设
  • 郑州给公司做网站的公司做网站图片要求
  • 网站建设动漫wordpress 漏洞 2014
  • 网站页面优化内容包括哪些烟台网站建设报价
  • 四川红叶建设有限公司网站动态Js文件 做网站标题
  • 电商网站流量统计cpancel面板搭建WordPress
  • 做视频网站视频文件都存放在哪建e室内设计网app
  • 营销型网站一般有哪些内容网站建设的步骤是什么意思
  • 深圳精品网站建设常州企业网站建设公司
  • 淘宝客网站推广备案信息2021年世界500强榜单
  • 网站建设具体流程图windows网站建设教程
  • 个人网站炫酷主页html创意界面