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

泉州关键词优化推广网站排名优化培训哪家好

泉州关键词优化推广,网站排名优化培训哪家好,申请网站空间是申请域名吗,web网页表格制作C17 引入了结构化绑定用来声明变量, 到现在为止它能出现在if/while/for等语句中. P0963提议了新的语法增强, 允许结构化绑定作为条件使用, 这将简化代码写法. 通常在if中声明变量时, 我们会进一步对变量做判断, 比如: #include <charconv> #include <print>struc…

C++17 引入了结构化绑定用来声明变量, 到现在为止它能出现在if/while/for等语句中.
P0963提议了新的语法增强, 允许结构化绑定作为条件使用, 这将简化代码写法.

通常在if中声明变量时, 我们会进一步对变量做判断, 比如:

#include <charconv>
#include <print>struct parse_result {long result;const char* begin;const char* end;
};parse_result parse(const char* begin, const char* end) {char* last;auto ret = strtoll(begin, &last, 10);return {ret, last, end};
}int main() {std::string_view str = "123 456 789";auto begin = str.data();auto end = str.data() + str.size();
//{if (auto [ret, first, last] = parse(begin, end);first != last) {// interpret [first, last) into a valuestd::println("ok, got {}", ret);}
//}
}

first != last是分支判断条件, 它具有重复性. 我们可以重载操作符(), 返回布尔值, 从而在if中调用.

struct parse_result {long result;const char* begin;const char* end;explicit operator bool() const noexcept {std::println("operator () called");return begin != end;}
};

之前的代码就可以简化为:

#include <charconv>
#include <print>struct parse_result {long result;const char* begin;const char* end;explicit operator bool() const noexcept {std::println("operator () called");return begin != end;}
};parse_result parse(const char* begin, const char* end) {char* last;auto ret = strtoll(begin, &last, 10);return {ret, last, end};
}int main() {std::string_view str = "123 456 789";auto begin = str.data();auto end = str.data() + str.size();
//{if (auto [ret, first, last] = parse(begin, end)) {// interpret [first, last) into a valuestd::println("ok, got {}", ret);}
//}return 0;
}

对于标准库中已经实现类似功能的接口(std::from_chars/std::to_chars), 我们就可以利用它来简化代码:

#include <charconv>
#include <iostream>int main() {char buffer[16];char* p = buffer;char* last = buffer + sizeof(buffer);// before C++26if (auto result = std::to_chars(p, last, 42)) {auto [ptr, _] = result;// okay to proceed} else {auto [ptr, ec] = result;// handle errors}// C++26if (auto [ptr, ec] = std::to_chars(p, last, 42)) {// okay to proceed} else {// handle errors}return 0;
}

进一步阅读

  • C++26 新特性预览(Preview)
    • 契约(Contract)
    • C++26 编译时反射简介
    • C++26 占位符变量改进
http://www.dtcms.com/wzjs/448735.html

相关文章:

  • 网站推广公司 sit优化设计的答案
  • html链接网站模板太原网站建设开发
  • 东莞模块网站建设公关团队
  • 制作网站怎么做百度推广怎么联系
  • 网站制作源码微信crm系统软件
  • 电商网站设计页面设计销售外包
  • 17zwd一起做业网站企业网站推广方法实验报告
  • 什么是电子商务网站建设的基本要求网站模板平台资源
  • 可以做多边形背景的网站百度关键词排名点
  • 工作计划及目标郑州seo排名第一
  • 在网站设计中 网页框架设计哪里可以引流到精准客户呢
  • 用表格做网站教程推广点击器
  • 男女做爰网站19淘宝搜索关键词排名查询工具
  • 公司网站域名到期济南seo优化外包
  • 团购网站经营模式优化手机性能的软件
  • 幼儿园校园网站建设情况今日国内新闻重大事件
  • 秦皇岛做网站的公司城市更新论坛破圈
  • 婚恋网站系统短视频运营培训学费多少
  • 唐山做网站公司费用客服系统网页源码2022免费
  • 建设网站公司兴田德润i优惠吗百度网络科技有限公司
  • makah5页面制作网站广州今日刚刚发生的新闻
  • 战地之王网站做任务软文内容
  • 合肥网站建设哪家公司好免费写文案神器
  • 做p2p网站卖赚钱吗中国电信视频app下载
  • 网站双语怎么做百度关键词批量看排名工具
  • 厦门建站网址费用创建网站的基本步骤
  • 可以做外链网站网站模板商城
  • 武邑县网站建设西安seo黑
  • 地产广告设计网站郑州网络营销推广公司
  • web服务器管理的主要技术武汉seo学徒