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

金融营销的网站设计案例凡客诚品app下载

金融营销的网站设计案例,凡客诚品app下载,网友,广西网站建设智能优化✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「C/C++」C/C++程序设计
📚全部专栏
「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合
「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明

目录

    • std::string_view:C++17中的轻量级字符串视图
      • 一、std::string_view的基本特性
      • 二、std::string_view的常用操作
      • 三、std::string_view与std::string的比较
      • 四、注意事项
      • 五、示例代码
      • 结语

std::string_view:C++17中的轻量级字符串视图

C++17引入了一种新的字符串处理工具——std::string_view。std::string_view提供了一种轻量级、非拥有的字符串视图,使得对字符串的操作更加灵活和高效。本文将详细介绍std::string_view的特性和用法,以及它与std::string的区别和使用场景。

一、std::string_view的基本特性

  1. 非拥有性(Non-Owning)
    std::string_view不拥有字符串的内存,它仅仅是对现有字符串的引用。这意味着它不负责字符串的生命周期管理,使用者需要确保在std::string_view使用期间底层数据保持不变和有效。

  2. 轻量级
    std::string_view对象本身非常轻量,通常只包含一个指向字符串的指针和一个长度。因此,它适合于函数参数、返回值以及临时字符串的处理,可以减少内存分配和复制的开销。

  3. 零终止符
    与std::string不同,std::string_view不要求字符串以零终止符结尾。因此,它可以表示任意二进制数据,这使得它在处理非文本数据时更加灵活。

  4. 不可变性
    std::string_view中的数据是不可变的,无法通过视图修改原始字符串。这保证了数据的一致性和安全性。

  5. 迭代器兼容
    std::string_view支持与std::string兼容的迭代器接口,可以方便地使用标准库算法进行处理。

二、std::string_view的常用操作

  1. 构造
    std::string_view可以从std::string、C风格字符串(const char*)或字符数组构造。例如:

    std::string str = "Hello, World!";
    std::string_view sv1(str);
    const char* cstr = "Hello, C++!";
    std::string_view sv2(cstr);
    
  2. 子串操作
    std::string_view的substr方法用于获取指定范围内的子字符串视图,而不会引起额外的内存分配。例如:

    std::string_view sv = "Hello, C++!";
    std::string_view sub_sv = sv.substr(0, 5); // 获取 "Hello"
    
  3. 访问元素和比较
    std::string_view可以通过下标操作符访问元素,也可以与其他std::string_view或字符串进行比较。例如:

    char first_char = sv[0]; // 访问第一个字符
    if (sv == "Hello") { // 比较// 相等
    }
    
  4. 长度
    std::string_view的length方法用于获取字符串的长度。例如:

    std::size_t len = sv.length(); // 获取字符串的长度
    

三、std::string_view与std::string的比较

  1. 使用场景

    • std::string_view提供了一种轻量级、高效的字符串处理方式,特别适用于那些只需要读取字符串而不需要修改或拥有其拷贝的场景。
    • 在需要修改字符串内容或拥有字符串副本的情况下,仍然应该使用std::string类型。
  2. 性能

    • 传统的std::string在传递和处理时通常会复制数据,而std::string_view仅仅是一个对已有字符串的引用,避免了数据的复制和重新分配,提高了性能。
  3. 灵活性

    • std::string_view可以直接从std::string或C风格字符串创建,并且使用起来十分灵活。它支持与std::string兼容的迭代器接口和标准库算法,使得代码更加简洁和可读。

四、注意事项

  • 使用std::string_view时需要确保原始字符串的生命周期足够长,以避免悬挂引用的问题。
  • std::string_view不提供修改其所指向数据的方法,它仅仅是提供了对数据的只读访问。如果需要修改字符串,应该使用std::string或其他可变的字符串类型。

五、示例代码

#include <iostream>
#include <string_view>void printStringView(std::string_view sv) {std::cout << "String View: " << sv << std::endl;std::cout << "Length: " << sv.size() << std::endl;
}int main() {std::string str = "Hello, World!";std::string_view sv(str);printStringView(sv);std::string_view sub_sv = sv.substr(7);printStringView(sub_sv);return 0;
}

在上述示例中,我们首先创建了一个std::string对象str,然后创建了一个std::string_view对象sv,并将str作为其构造函数的参数。我们通过将sv传递给printStringView函数来打印sv表示的字符串。同时,我们还展示了如何使用std::string_view::substr函数从std::string_view中获取子字符串,并将其再次传递给printStringView函数以打印子字符串。

结语

std::string_view是C++17中引入的一种轻量级字符串视图类型,它提供了一种非常高效的方式来引用和操作现有的字符串(或字符数组)而不需要复制数据。通过使用std::string_view,可以减少内存分配和复制的开销,提高程序的性能。然而,使用std::string_view时需要注意原始字符串的生命周期管理,以避免悬挂引用的问题。希望本文能够帮助读者理解std::string_view的特性和用法,并在实际编程中灵活运用它。


在这里插入图片描述

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

相关文章:

  • 电子商务公司注册资金最低多少seo优化主要做什么
  • 正规的徐州网站开发杭州网站制作机构
  • 外链提高网站权重2021最火关键词
  • 怎么做网上网站的网站wap网站开发协议
  • ppt网站建设答案wordpress 付费内容
  • 找加工订单的网站网站的黄金看盘软件
  • 网站优化建设永春建设局网站
  • 微信网站开发设计什么是互联网营销
  • 网站开发技能证书泰州做网站
  • 国税局网站里打印设置如何做二级目录 wordpress 伪静态
  • 餐厅网站建设网站开发学习培训
  • jquery网站开发实例帮别做网站
  • 架设网站 自己购买服务器官方网站百度一下
  • 中车网站建设的优缺点wordpress文章分类页面置顶
  • 如何增加企业网站被收录的几率如何实现wordpress伪静态
  • 苏州专业做网站较好的公司属于网站的管理 更新 维护
  • 学ui的网站网站改版升级通知
  • 网站统计功能设计一个网站的上线流程
  • 网站建设网站建设房地产新闻联播
  • 昆山建设工程交易网站请检查网络
  • 做机械配件的网站wordpress 文章权限
  • 网站开发视频转码网站系统建站
  • 韶关企业网站建设免费推广软件流量精灵
  • 手机网站怎么搜索引擎公司网站建设流程图
  • 建站好用的软件西海岸新区城市建设局网站
  • 网站的域名是什么网站制作东莞
  • 金山品牌网站建设网页设计创意书
  • 山东网站开发工作室wordpress 数据库修改密码
  • 网站建设及维护服务潍坊网站建设 58
  • iis 没有新建网站怎么做网站动态框