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

百姓网站外推广怎么做深圳优化公司统高粱seo

百姓网站外推广怎么做,深圳优化公司统高粱seo,西安行业网站,宝安第一网站在c 11标准库中&#xff0c;加入了std::tie&#xff0c;在c 14中改进&#xff0c;方便使用。 其与std::tuple关系密切&#xff0c; 主要目的是方便地使用std::tuple。 std::tie函数的作用就是从元素引用中生成一个std::tuple元组&#xff0c;其在头文件<tuple>中定义&…

在c++ 11标准库中,加入了std::tie,在c++ 14中改进,方便使用。 其与std::tuple关系密切, 主要目的是方便地使用std::tuple。
std::tie函数的作用就是从元素引用中生成一个std::tuple元组,其在头文件<tuple>中定义,其函数原型如下:

template< class... Types >
std::tuple<Types&...> tie( Types&... args ) noexcept; //C++11起, C++14前template< class... Types >
constexpr std::tuple<Types&...> tie( Types&... args ) noexcept; //C++14起

元组std::tuple可以将不同类型的元素存放在一起,可以理解为std::pair的扩展(pair只能包含两个元素,而tuple可以多个)。
std::tuple拥有从 pair 的转换赋值,因为std::tuple的实现中重载了操作符=,其部分原型如下:

template< class U1, class U2 >
tuple& operator=( const std::pair<U1, U2>& p );//C++11 起, C++20 前

因此,std::tie可以用于pair的解包

#include <set>
#include <tuple>
#include <iostream>int main(int argc, char *argv[])
{std::set<int> sets;std::set<int>::iterator iter;bool result = false;std::tie(iter, result) = sets.insert(1);//解包insert的返回值为iter与resultstd::tie(std::ignore, result) = sets.insert(2); // std::ignore是std::tie在解包时作为不使用的参数的占位符使用,即忽略某些tuple中的某些返回值。std::cout << result << std::endl; // 输出1return 0;
}

std::set的insert函数原型如下:

std::pair<iterator, bool> insert( const value_type& value );
std::pair<iterator, bool> insert( value_type&& value );template< class InputIt >
void insert( InputIt first, InputIt last );
void insert( std::initializer_list<value_type> ilist );

为生成pair, c++ 提供了make_pair的快捷操作,相应的,对tuple也提供了make_tuple用于快速创建tuple对象。创建tuple对象的方式有三种:

std::tuple<int, double, std::string> student1 = { 1, 77.7, "Sunny" }; // 定义时 初始化
std::tuple<int, double, std::string> student2 ( 2, 88.8, "Gavin" );   // 使用构造函数
auto student3 = std::make_tuple(3, 99.9, "Lucia" );                   // 使用make_tuple

使用std::tie解包tuple

#include <tuple>
#include <iostream>
#include <string>int main(int argc, char *argv[])
{auto student3 = std::make_tuple(3, 99.9, "Lucia" );int id;std::string name;std::tie(id, std::ignore, name) = student3;std::cout << "student id: " << id << "  \t " << "student name: " << name << std::endl;return 0;
}


可以将结构体成员传入std::tie,从而实现结构体的比较。

struct Student {int id;float score;std::string name;bool operator<(const Student& rhs) const{// 先比较id与rhs.id// 然后比较score与rhs.score// 最后比较name与rhs.name// tuple内已经重载了运算符<return std::tie(id, score, name) < std::tie(rhs.id, rhs.score, rhs.name);}
};

一个例子:

#include <tuple>
#include <set>
#include <iostream>
#include <string>struct Student {int id;float score;std::string name;bool operator<(const Student& rhs) const{// 先比较id与rhs.id// 然后比较score与rhs.score// 最后比较name与rhs.name// tuple内已经重载了运算符<return std::tie(id, score, name) < std::tie(rhs.id, rhs.score, rhs.name);}
};int main(int argc, char *argv[])
{std::set<Student> sets;Student student1{1, 77.7, "Sunny"};Student student2{ 2, 88.8, "Gavin"};std::set<Student>::iterator iter;bool result = false;std::tie(iter, result) = sets.insert(student1);if (result){std::cout << "student1 was inserted successfully" <<std::endl;}std::tie(std::ignore, result) = sets.insert(student2); // 使用std::ignore忽略insert的返回pair中的第一个元素if (result){std::cout << "student2 was inserted successfully" <<std::endl;}result = student1 < student2;std::cout << "student1 < student2: " << result << std::endl;return 0;
}

原文链接:https://blog.csdn.net/caoshangpa/article/details 

http://www.mnyf.cn/news/43029.html

相关文章:

  • 商城网站建设策划书google官方下载安装
  • 电脑编程用什么软件关键词优化工具有哪些
  • 郑州小程序开发多少钱5g网络优化
  • 徐州网站建设哪家好安卓优化大师老版本下载
  • 子网页怎么做seo网络营销公司
  • 怎样学好网站开发黑帽seo工具
  • 昆明如何做百度的网站优化落实新十条措施
  • 做网站美工未来规划百度搜索优化怎么做
  • wordpress文件上传大小重庆旅游seo整站优化
  • 辽宁政府招标网seo是什么化学名称
  • 免费的网站模板万能搜索 引擎
  • 北京私人做网站搜索引擎排名优化公司
  • 做企业网站的要点百度搜索引擎广告投放
  • 网站知识介绍河南seo推广
  • 住房和城乡建设部办公厅网站新冠疫苗接种最新消息
  • 电商网站优化方案百度竞价点击神器奔奔
  • 时时彩网站建设武汉大学人民医院
  • 国外网站视频播放器广州头条新闻最新
  • 网站信息做参考文献微商如何引流与推广
  • 政府网站开发维护合同个人网站设计图片
  • 网站代理建设黑帽seo培训大神
  • 销售网站设计方案湛江百度网站快速排名
  • 长沙移动网站建设电子商务网站建设论文
  • 微信的网站图们网络推广
  • 永川集团网站建设百度6大核心部门
  • 白云做网站的公ip域名查询地址
  • 潍坊做网站价格网站搜索引擎优化诊断
  • 办理个人公司需要什么手续南通百度seo代理
  • 做恋足的视频网站优化关键词的方法
  • b2c网站建设企业seo顾问服务