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

电子商务网站建设 考卷dedecms做门户网站

电子商务网站建设 考卷,dedecms做门户网站,备案网站名怎么写,网络营销的特点举例说明原文地址 Intro float divide(float a, float b) {if (b 0){return ?;}return a / b; }这里以一个除法函数为例#xff0c;当 b 为 0 的时候#xff0c;明显是除法的异常#xff0c;但是怎样把这个状态返回给调用方呢#xff1f; 常见的方法有如下几种 抛异常#x…原文地址 Intro float divide(float a, float b) {if (b 0){return ?;}return a / b; }这里以一个除法函数为例当 b 为 0 的时候明显是除法的异常但是怎样把这个状态返回给调用方呢 常见的方法有如下几种 抛异常当除0时抛出相关的异常调用方捕获异常返回一个特殊的值 (-1, infinity, nullptr) 这种需要和调用方约定好语义不是很清晰。Optional types. 这是一种类型安全并且表达力更强。 std::optional 在 c17中被加入以前的c标准可以通过 boost::optional 来获取。在c17中可以使用#include optional 来使用这个类型。 经过 std::optional 封装的仍然是一个值类型可以拷贝。 std::optional不需要在堆上申请内存。 When to use 通常可能在这些场景使用 std::optional封装 需要较好的表示空类型 (nullable type) 替代使用特殊值 (-1 nullptr, NO_VALUE 或者其他)比如某些值可能存在可能不存在但是我们又需要知道是否存在 比如在统计年龄的时候可能有的数据里面没有年龄这个时候我们可以使用std::optionalint表示。 返回一个执行失败的结果 比如除0 错误不能得到正确的值的时候。 懒加载资源的时候 比如一个 resource 类型没有默认的构造函数但是构造的工作 比较庞大可以使用 std::optionalResource来定义然后在需要的时候来加载。在传参的时候 Basic Example std::optionalstd::string UI::FindUserNick() {if (nick_available)return { mStrNickName };return std::nullopt; // same as return { }; }// use: std::optionalstd::string UserNick UI-FindUserNick(); if (UserNick)Show(*UserNick);Creation // empty: std::optionalint oEmpty; std::optionalfloat oFloat std::nullopt;// direct: std::optionalint oInt(10); std::optional oIntDeduced(10); // deduction guides// make_optional auto oDouble std::make_optional(3.0); auto oComplex make_optionalstd::complexdouble(3.0, 4.0);// in_place std::optionalstd::complexdouble o7{std::in_place, 3.0, 4.0};// will call vector with direct init of {1, 2, 3} std::optionalstd::vectorint oVec(std::in_place, {1, 2, 3});// copy/assign: auto oIntCopy oInt;获取值 // by operator* std::optionalint oint 10; std::cout oint *opt1 \n;// by value() std::optionalstd::string ostr(hello); try {std::cout ostr ostr.value() \n; } catch (const std::bad_optional_access e) {std::cout e.what() \n; }// by value_or() std::optionaldouble odouble; // empty std::cout odouble odouble.value_or(10.0) \n;一种稳妥的做法时在访问的时候判断是否为空 // compute string function:std::optionalstd::string maybe_create_hello(); // ... if (auto ostr maybe_create_hello(); ostr)std::cout ostr *ostr \n; else std::cout ostr is null\n;修改值 #include optional #include iostream #include stringclass UserName { public:explicit UserName(const std::string str) : mName(str){ std::cout UserName::UserName(\;std::cout mName \)\n; }~UserName() {std::cout UserName::~UserName(\;std::cout mName \)\n; }private:std::string mName; };int main() {std::optionalUserName oEmpty;// emplace:oEmpty.emplace(Steve);// calls ~Steve and creates new Mark:oEmpty.emplace(Mark);// reset so its empty againoEmpty.reset(); // calls ~Mark// same as://oEmpty std::nullopt;// assign a new value:oEmpty.emplace(Fred);oEmpty UserName(Joe); }
http://www.zqtcl.cn/news/632174/

相关文章:

  • 重庆网站建设哪家公司哪家好企业 网站规划与网页设计word
  • 手机必备软件100个网站建设和优化排名
  • 天津公司网站怎样制作网页设计图片尺寸
  • 网站建设中模板代码网络营销推广公司哪家好
  • 百度免费建立网站搜索引擎推广效果
  • 网站建设分金手指排名十二建设内容管理网站的目的
  • 无锡网站策划制作网站的工具
  • 免费的网站开发软件百度做网站推广的费用
  • 汽车维修东莞网站建设怎么用阿里的域名 做网站
  • 网站怎么做免费cosy WordPress
  • wordpress 关闭自动更新青岛济南网站建设优化
  • 外贸网站推广平台哪个好如何建设手机端网站
  • linux新建网站巩义网站建设定制
  • 网站建设要什么软件有哪些北京seo
  • 空调设备公司网站建设wordpress 4.9
  • 潮州市网站建设公司网页设计代码模板素材
  • 深圳做网站开发费用个人网页设计作品手绘
  • 怎样做网站跳转国内企业建站模板
  • 优化网站哪个好互联网公司市值
  • 广州微信网站开发游戏企业用什么程序做网站
  • 深圳赶集同城网站建设网站空间类型
  • 怎么样做网站代wordpress手机上传图片插件
  • 西安做网站xamokjwordpress 酒业模板
  • 做微博网站如何开网店卖自己的东西
  • 黄骅市有什么好玩的地方常州百度seo排名
  • 做英语在线翻译兼职网站公交建设公司的官网
  • 做网站需要什么电脑律师事务所在线咨询免费
  • 网站建设推广公司需要哪些岗位建站模板源码
  • 网站深圳优化建设购物网站模版
  • 网站后端用什么软件做广西城乡建设部网站首页