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

加快建设企业门户网站建武汉seo搜索优化

加快建设企业门户网站建,武汉seo搜索优化,替代wordpress,wordpress query_postsc17引入了any 和 variant&#xff0c;可以将任意数据类型统一用any或variant类型表示&#xff0c;在开发中还是能够带来很多便利的。在c11版本中&#xff0c;可以用下面这个例子&#xff0c;仿照实现一个Any类型。 #include <iostream> #include <stdexcept> #inc…

c++17引入了any 和 variant,可以将任意数据类型统一用any或variant类型表示,在开发中还是能够带来很多便利的。在c++11版本中,可以用下面这个例子,仿照实现一个Any类型。

#include <iostream>
#include <stdexcept>
#include <memory>class UserData{
public:UserData(){}std::string operator()(){return m_name;}
private:std::string m_name="world";
};class Any
{
public:template<typename T>Any(const T& val) noexcept : content(new Holder<T>(val)) {}Any(const Any& other) noexcept : content(other.content ? other.content->Copy() : nullptr) {}Any(Any&& other) noexcept :content(std::move(other.content)) {}Any& operator=(const Any& other){if (this == &other)return *this;content.reset(other.content ? other.content->Copy() : nullptr);return *this;}template<typename T>T& get() const{if (content.get() == nullptr){throw std::exception_ptr();}if (typeid(T).hash_code() != content->TypeID()){throw std::bad_cast();}return static_cast<Holder<T>*>(content.get())->value;}std::string TypeName() const{if (content)return content->TypeName();return "";}size_t TypeID(){if (content)return content->TypeID();return 0;}
private:struct Base {virtual ~Base() {}virtual Base* Copy() const = 0;virtual size_t TypeID() const = 0;virtual const char* TypeName() const = 0;};template<typename T>struct Holder :public Base{Holder<T>() = delete;Holder<T>(const T& val) : value(val), typid(typeid(T).hash_code()), typname(typeid(T).name()) {}~Holder<T>() {}Base* Copy() const override { return new Holder<T>(value); }size_t TypeID() const override { return typid; }const char* TypeName() const override { return typname; }T value;size_t typid;const char* typname;};std::unique_ptr<Base> content;
};int main()
{int iVal = 10;Any param = iVal;int& iv = param.get<int>();iv = 100;std::cout<<param.TypeName()<<", val="<<param.get<int>()<<std::endl;std::string sVal="hello";param = sVal;std::cout<<param.TypeName()<<", val="<<param.get<std::string>()<<std::endl;double dVal = 101.21;Any paramd = dVal;param = paramd;std::cout<<param.TypeName()<<", val="<<param.get<double>()<<std::endl;UserData data;param = data;UserData& dt = param.get<UserData>();std::cout<<param.TypeName()<<", val="<<dt()<<std::endl;return 0;
}

http://www.hkea.cn/news/639320/

相关文章:

  • 青岛网站建设公司武汉seo收费
  • mvc网站建设的实验报告怎么做优化
  • 有官网建手机网站千锋教育培训多少钱费用
  • b2c交易模式的网站有哪些百度营销客户端
  • flash 学习网站重庆网站seo多少钱
  • 年终总结ppt模板免费下载网站小红书seo排名规则
  • 自己架设网站口碑营销的产品有哪些
  • 湖北省网站备案最快几天天津百度推广排名优化
  • app在线开发制作平台seo网络优化前景怎么样
  • 商务网站的基本情况网站建设工作总结
  • 山西建设厅网站网络销售怎么聊客户
  • 软装素材网站有哪些seo网络排名优化哪家好
  • 邯郸市做网站建设网络口碑营销案例分析
  • 罗湖网站建设联系电话西安核心关键词排名
  • 如何编写网站电脑清理软件十大排名
  • 怎么给企业制作网站seo关键词排名优化哪好
  • 高仿服装网站建设西安百度关键词推广
  • 网站单页面怎么做的百度seo站长工具
  • 网站建设谢辞企业营销型网站有哪些
  • 免费网站制作申请行业关键词一览表
  • 网站建设费关键词排名提高方法
  • 搭建淘宝客网站源码最近发生的新闻事件
  • 网站模版网网站关键词排名优化价格
  • 做网站去哪里全国免费发布广告信息平台
  • 靖江做网站湖南seo服务电话
  • 工程建设科学技术奖申报网站友情链接交换标准
  • 做网站后期为什么续费链交换
  • 网站开发与设计专业西安seo顾问培训
  • 企业网站建设话术优化营商环境指什么
  • 傻瓜式网站制作微信运营技巧