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

网络公司网站模板htmlseo关键词挖掘工具

网络公司网站模板html,seo关键词挖掘工具,小程序制作需要什么技术,自我介绍ppt配图基础介绍 c17版本引入了std::optional特性&#xff0c;这一个类模板&#xff0c;基本的使用方法如下&#xff1a; std::optional<T> 这个新特性的含义是利用std::optional<T>创建的某个类型的对象&#xff0c;这个对象存储某个类型的值&#xff0c;这个值可能存在…

基础介绍

c++17版本引入了std::optional特性,这一个类模板,基本的使用方法如下:

std::optional<T> 

 这个新特性的含义是利用std::optional<T>创建的某个类型的对象,这个对象存储某个类型的值,这个值可能存在,也可能不存在。

举个例子:

std::optional<int> a;  //创建一个空的std:optional对象
std::optional<int> b(21);//创建一个包含值的optional
std::optional<std::string> c("hello");  //创建一个包含值的optional

主要操作

本小节主要介绍std::optional对象的常用方法。

检查optional是否有值

optional对象采用has_value查看这个对象内是否有值,如下所示;

#include <optional>
#include <iostream>void func()
{std::optional<int> a(30);if(a.has_value()){std::cout<<" 有值 "<<std::endl;}else{std::cout<<" 没有值 "<<std::endl;}//或者采用下面的方式,这种方式是将一个类转换为某种类型if(a){std::cout<<" 有值 "<<std::endl;}
}

optional如何赋值

前面的例子中介绍采用了构造函数的方式进行初始化,除此之外还有其他的初始化方式,请看下面的示例:

#include <optional>
#include <iostream>void func()
{std::optional<int> a(30);  //初始化方式一std::optional<int> b;b = 2;  //初始化方式二
}

optional获取值

那如何从optional中如何获取值呢,请看下面的例子:

#include <optional>
#include <iostream>void func()
{std::optional<int> a(30);  //初始化方式一int value1 = a.value();int value2 = *a;  //通过解引用的方式int value3 = a.value_or(-1);  //这是一个如果有值就返回实际值,value_or的参数是默认值,如果optional中不包含值则返回这个默认值
}

optional重置

#include <optional>
#include <iostream>void func()
{std::optional<int> a(30);  //初始化方式一a.reset(); //清除值a = std::nullopt;  //另外一种方式
}

实际应用场景

  1. 函数返回值
  2. 类的成员变量
  3. 函数的参数
  4. 替代特殊值,表示无用的情况
#include <optional>
#include <string>
#include <iostream>// 示例1:函数返回值可能不存在的情况
std::optional<int> divide(int a, int b) {if (b == 0) {return std::nullopt;  // 返回空optional}return a / b;  // 返回计算结果
}// 示例2:类中使用optional成员
class User {
private:std::string name;std::optional<std::string> nickname;std::optional<int> age;public:User(const std::string& n) : name(n) {}void setNickname(const std::string& nick) {nickname = nick;}std::string getDisplayName() const {return nickname.value_or(name);  // 如果有昵称返回昵称,否则返回名字}
};// 示例3:配置选项
struct Configuration {std::optional<int> port;std::optional<std::string> host;std::optional<bool> useSSL;
};// 1. 使用optional代替特殊值
std::optional<int> parse_int(const std::string& str) {try {return std::stoi(str);} catch (...) {return std::nullopt;}
}// 2. 函数参数中的可选值
class Widget {
public:void configure(std::optional<int> width = std::nullopt,std::optional<int> height = std::nullopt) {if (width) {// 设置宽度}if (height) {// 设置高度}}
};// 3. 避免optional<optional<T>>
// 不好的写法
std::optional<std::optional<int>> bad;
// 好的写法
std::optional<int> good;

注意事项

std::optional如果利用std::nullopt赋值,则表示将这个对象进行重置,这个对象内不包含值。

http://www.khdw.cn/news/64832.html

相关文章:

  • 佛山网站建设费用预算域名被墙查询
  • wordpress一步步建企业网站google官网注册
  • 免费网站建设找云狄电商运营转行后悔了
  • 包头做网站要多少钱东莞seo收费
  • 地产网站建设互动营销营销型网站建设ppt
  • 苏州网站开发公司兴田德润放心企业营销策划包括哪些内容
  • c语言程序设计网站英文外链seo兼职
  • 撰写网站的建设方案深圳百度推广排名优化
  • 搭建wap网站上海百度研发中心
  • xp系统中做网站服务器吗品牌营销策划案例
  • 靠谱建网站公司编程培训班学费一般多少钱
  • 网站公司的未来苏州新闻今天最新消息新闻事件
  • 室内设计效果图手绘线稿在线seo外链工具
  • 计算机应用技术重庆网站排名优化教程
  • 衢州网站建设需要多少费用常用的搜索引擎
  • wordpress中文广告插件下载seo网站优化培训价格
  • 辽宁网站制作广州网站设计建设
  • 南阳网站建设电话b站推广
  • 做企业网站需要提供什么站长工具seo综合查询分析
  • 移动版网站怎么做聊城seo整站优化报价
  • 龙游做网站品牌推广方案案例
  • 网站如何在百度做排名百度app优化
  • 阜阳哪里做网站市场推广怎么做
  • 网站开发怎么进行数据库连接网站群发软件
  • 深圳做营销网站公司简介个人网站注册平台
  • 企业网站做seo的必要性代发百度首页排名
  • 长沙网站建设去哪好苏州搜索引擎优化
  • 西安营销型网站建设动力无限百度指数怎么看排名
  • 青岛媒体网地址郑州百度快照优化排名
  • 做网站骗钱视频推广平台