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

做pc端软件可以参考那些网站太原网站seo顾问

做pc端软件可以参考那些网站,太原网站seo顾问,建基建设集团网站,杭州网站维护外包c17最新特性笔记 1.基本语言特性 ​ 这一部分介绍了 C17中新的核心语言特性#xff0c;但不包括那些专为泛型编程#xff08;即 template#xff09;设计的特性。 结构化绑定 结构化绑定允许你用一个对象的元素或对象初始化多个实例(第一眼感觉Python解包很像) 这有一个…c17最新特性笔记 1.基本语言特性 ​ 这一部分介绍了 C17中新的核心语言特性但不包括那些专为泛型编程即 template设计的特性。 结构化绑定 结构化绑定允许你用一个对象的元素或对象初始化多个实例(第一眼感觉Python解包很像) 这有一个结构体 struct MyStruct {int i 0;std::string s; }; MyStruct ms;可以通过如下声明把该结构体的两个成员绑定到新的变量名 auto [u, v] ms; auto [u1, v1] {ms}; auto [u2, v2] (ms);结构化绑定对于返回结构体或者数组的函数非常有用 MyStruct returnStruct() {return MyStruct{ 42,Tom }; }我们可以把结构体中的成员变量分别赋值给两个新的局部变量 auto [id, name] returnStruct();还可以再进行操作 if (id16){/*...*/}结构化绑定还能大幅提高代码的可读性 例如: 不使用结构化绑定,对std::map的遍历需要这么写 for (auto elem : m1){cout elem.first elem.second;}下面是使用结构化绑定: for (const auto [key,value] : m1){cout key value endl;}增加了代码的可读性(真的越来越现代了cpp) 1.1.1细说结构化绑定 绑定到一个匿名实体 auto [u, v] ms;这段代码实际上是做了如下操作: auto e ms; ... u e.i; ... v e.s; 这就意味这u,v是结构体内成员变量的拷贝(拷贝对象e的生命周期和结构化绑定一样长) e 的生命周期和结构化绑定的生命周期相同当结构化绑定离开作用域时 e 也会被自动销毁。另外除非使用了引用否则修改结构化绑定的变量并不会影响被绑定的变量 MyStruct ms{42, hello}; auto [u, v] ms; ms.i 77;使用修饰符 我们可以在结构化绑定中使用修饰符例如 const 和引用这些修饰符会作用在匿名实体 e 上。通常情况 下作用在匿名实体上和作用在结构化绑定的变量上的效果是一样的但有些时候又是不同的见下文。 例如我们可以把声明一个结构化绑定声明为 const 引用 const auto [u, v] ms; // 引 用 因 此u/v指 向ms.i/ms.s这里匿名实体被声明为 const引用而u 和 v 分别是这个引用的成员 i 和s 的别名。因此对ms 的成员的修 改会影响到 u 和 v 的值 ms.i 77; // 影 响u的 值std::cout u; // 打 印 出77如果声明为非 const引用你甚至可以修改对象的成员 MyStruct ms{42, hello};auto [u, v] ms; // 被 初 始 化 的 实 体 是ms的 引 用ms.i 77; // 影 响 到u的 值std::cout u; // 打 印 出77u 99; // 修 改 了ms.istd::cout ms.i; // 打 印 出99如果一个结构化绑定是引用类型而且是对一个临时对象的引用那么和往常一样临时对象的生命周期会被 延长到结构化绑定的生命周期 MyStruct getStruct();...const auto [a, b] getStruct();std::cout a: a \n; // OK修饰符并不是作用在结构化绑定引入的变量名上 修饰符会作用在新的匿名实体上(即上文中的e)而不会是u,v上 const auto[u,v] ms;u和v都不是引用,只有匿名实体e是引用。u 和 v 分别是 ms 对应的成员的类型只不过变成了const 的。根据我们的推导decltype(u) 是 const intdecltype(v) 是const std::string。 结构体绑定适用的场景 原则上讲结构化绑定适用于所有只有 public 数据成员的结构体、C风格数组和类似元组 (tuple-­like)的对象 • 对于所有非静态数据成员都是 public 的结构体和类你可以把每一个成员绑定到一个新的变量名上。 • 对于原生数组你可以把数组的每一个元素都绑定到新的变量名上。 • 对于任何类型你可以使用 tuple­like API 来绑定新的名称无论这套 API 是如何定义“元素”的。对于一个类型 type这套 API 需要如下的组件 std::tuple_sizetype::value 要返回元素的数量。 std::tuple_elementidx, type::type 要返回第 idx 个元素的类型。 一个全局或成员函数 getidx() 要返回第 idx 个元素的值。 注意要使用结构化绑定需要继承时遵循一定的规则。所有的非静态数据成员必须在同一个类中定义也就是说这些成员要么是全部直接来自于最终的类要么是全部来自同一个父类 struct B {int a 0;int b 3; };struct B1 :B {int c 4; }; auto [x, y] B{};//OK auto [x1, y1, z1] B1{};//ERROR原生数组 int arr[] { 1,2 }; auto [a1, b1] arr; //按值拷贝std::pair, std::tuple 和 std::array
http://www.huolong8.cn/news/84082/

相关文章:

  • 北京 科技网站建设微信营销管理工具
  • 建设银行可以查房贷的网站简单制作网站的过程
  • 阳山网站建设建设环保网站的目的与功能分析
  • 山东网站建设排行榜sem可以为网站建设做什么
  • 局域网内的网站建设深圳宝安seo外包
  • 网站建设做的好处购物网站怎么经营
  • 网站内容页301如何做企业文化建设总结报告
  • 网站搜索百度世界排名
  • 有经验的合肥网站建设小程序token
  • 渭南市建设局网站修改wordpress 表格
  • 长沙百度网站推广优化网站建设公司的前端
  • 卫龙的网站是谁做的网站前后端的关系
  • 一个网站开发团队的人员配置html5 门户网站模版
  • 做任务的网站购物网站APP
  • 南通建设局网站学编程的基础要具备什么
  • wordpress网站前端企业网站主页素描模板
  • 兴平做网站东莞网站建设那家专业
  • 动漫网站的设计与实现以网红引流促业态提升
  • 网站模板 北京公司建英文产品网站
  • 国外设计网站pinterest网址wordpress 通用代码
  • 网站流程示意湖南建设人力资源网官网
  • 哈密网站制作公司-哈密网站建设|哈密网络公司|哈密做网站网站挂到国外服务器
  • 怎么做网站手机版专业做网络推广的公司
  • 爱站工具包怎么使用网站建设策划书
  • 怎么做百度网站验证码抖音关键词排名优化
  • 国外的ui设计思想网站西部数码网站管理助手 2008
  • 上海企业网站制作报价做动画的动作库网站
  • 可以把网站服务器放在哪里网络营销公司名字大全
  • 不用付费不用登录的网站内蒙网站开发
  • 公司网站空间要多大wordpress链接 数据库