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

做好档案整理及网站建设西部数码网站管理助手

做好档案整理及网站建设,西部数码网站管理助手,桂林企业网,网站建设精美模板c17引入了any 和 variant#xff0c;可以将任意数据类型统一用any或variant类型表示#xff0c;在开发中还是能够带来很多便利的。在c11版本中#xff0c;可以用下面这个例子#xff0c;仿照实现一个Any类型。 #include iostream #include stdexcept #inc…c17引入了any 和 variant可以将任意数据类型统一用any或variant类型表示在开发中还是能够带来很多便利的。在c11版本中可以用下面这个例子仿照实现一个Any类型。 #include iostream #include stdexcept #include memoryclass UserData{ public:UserData(){}std::string operator()(){return m_name;} private:std::string m_nameworld; };class Any { public:templatetypename TAny(const T val) noexcept : content(new HolderT(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;}templatetypename TT get() const{if (content.get() nullptr){throw std::exception_ptr();}if (typeid(T).hash_code() ! content-TypeID()){throw std::bad_cast();}return static_castHolderT*(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;};templatetypename Tstruct Holder :public Base{HolderT() delete;HolderT(const T val) : value(val), typid(typeid(T).hash_code()), typname(typeid(T).name()) {}~HolderT() {}Base* Copy() const override { return new HolderT(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_ptrBase content; };int main() {int iVal 10;Any param iVal;int iv param.getint();iv 100;std::coutparam.TypeName(), valparam.getint()std::endl;std::string sValhello;param sVal;std::coutparam.TypeName(), valparam.getstd::string()std::endl;double dVal 101.21;Any paramd dVal;param paramd;std::coutparam.TypeName(), valparam.getdouble()std::endl;UserData data;param data;UserData dt param.getUserData();std::coutparam.TypeName(), valdt()std::endl;return 0; }
http://www.dnsts.com.cn/news/175404.html

相关文章:

  • 网站建设ftp上传是空目录国际经济新闻
  • 网站规划建设与管理维护教程网站开发如何挣钱
  • 网站建设背景浅变色怎么调出来开发app学什么编程语言
  • 网站开发合同 doc电子商务公司名称起名
  • 网站服务器一年的费用公司测名网
  • 什么样的网站需要备案国际热点新闻
  • 珠海品牌机械网站建设微慕wordpress
  • 淄博网站制作定制wordpress 插件 升级
  • 杭州设计制作网站更改wordpress菜单字体
  • 可以下载各种软件的网站揭阳网站建设方案托管
  • 手机端移动网站建设关于网站建设申请报告
  • 企业网站开发实训过程与内容情侣wordpress模板
  • 建设网站赚钱的方法成都网站seo设计
  • 网站系统建设系广告经营者网站建设域名怎么收费的
  • 电商平台有哪些网站名政法网 网站建设
  • 重庆建网站推广价格网站版面如何设计
  • 如何建自己的个人网站网站开发技术课程设计总结
  • 网站加载很慢怎么办工商局网站年检怎么做
  • 安徽网站开发项目wordpress 响应慢
  • 做平面设计都在那个网站找免费素材一起做网站可以一件代发吗
  • 小说阅读网站怎么建设网站开发联系人国强
  • 视频网站模板下载外贸单在哪些网站做
  • 北京专业网站制作大概费用上海软装设计公司排名
  • 做网站如何语音对话定制网站制作公司哪家好
  • 网站定制开发需要什么资质自己的网站做微信接口平台
  • 广州网站建设网站开发上海网页设计报价
  • 网站效果图制作房地产客户管理系统
  • 手机如何做车载mp3下载网站用python 做网站
  • 大型网站建设行情好的室内设计网站
  • 网站建设价格gxjzdrj广元单页网站制作