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

专业手机网站建设平台网站友情链接怎么弄

专业手机网站建设平台,网站友情链接怎么弄,建设户外腰包网站,优秀个人网页1. 隐式类型名的详情 C20 之前&#xff0c;typename 在一些其他情况下是不必要的: • 指定继承类的基类型时 • 在构造函数中将初始值传递给基类时 • 在类声明中使用类型成员时 #include <iostream> struct Impl {Impl(){ std::cout << "Impl ctor" &…

1. 隐式类型名的详情

C++20 之前,typename 在一些其他情况下是不必要的:
• 指定继承类的基类型时
• 在构造函数中将初始值传递给基类时
• 在类声明中使用类型成员时

#include <iostream>
struct Impl
{Impl(){ std::cout << "Impl ctor" << std::endl; }
};struct Wrap
{Wrap() {  std::cout << "Wrap ctor" << std::endl; }using B = Impl;
};template<typename T>
struct Test : T::B
{Test(): T::B(){typename T::B impl;std::cout << "Test ctor" << std::endl;}
};int main(void)
{Test<Wrap> var;
}

自C++20 起,以下情况为模板形参使用类型成员时,可以跳过typename:
• 在别名声明中(即,使用using 声明类型名称时); 注意,带typedef 的类型声明仍然需要typename
• 当定义或声明函数的返回类型时(除非声明发生在函数或块范围内)
• 声明尾步返回类型时
• 当指定static_cast、const_cast、reinterpret_cast 或dynamic_cast 的目标类型时
• 指定类型时
• 在类中
– 声明数据成员时
– 声明成员函数的返回类型时
– 声明成员函数或友元函数或Lambda 的形参(默认实参可能仍然需要) 时
• 在require 表达式中声明参数类型时
• 为模板的类型参数声明默认值时
• 声明非类型模板形参的类型时

include <iostream>
#include <vector>
#include <array>#define TYPENAMEtemplate<typename T,typename U,
auto Size = TYPENAME U::MaxSize,// typename optional  --->item 9
auto ValT = typename T::value_type{}> // typename requiredclass MyClass {// first typename optional  --->item 6.asecond typename requiredTYPENAME std::array<typename T::value_type,Size> val;
public:using iterator = TYPENAME T::iterator; // typename optional  --->item 1TYPENAME T::iterator begin() const; // typename optionalauto end() const ->TYPENAME T::iterator; // typename optional  --->item 6.bvoid print(TYPENAME T::iterator) const; // typename optional  --->item 6.ctemplate<typename T2 = TYPENAME T::value_type>//second typename optional  --->item 8void assign(T2);
};template<typename T>
TYPENAME T::value_type // typename optional  --->item 2
foo(const T& cont, typename T::value_type arg) {      // typename requiredtypedef typename T::value_type ValT2; // typename required  --->item 1using ValT1 = TYPENAME T::value_type; // typename optional  --->item 1typename T::value_type val; // typename requiredtypename T::value_type other1(void); // typename requiredauto other2(void) -> TYPENAME T::value_type; // typename optional  --->item 3auto l1 = [] (TYPENAME T::value_type) {}; // typename optionalauto p = new TYPENAME T::value_type; // typename optional  --->item 5val = static_cast<TYPENAME T::value_type>(0); // typename optional  --->item 4
}template<typename T> struct Array{static constexpr long MaxSize = 100;std::array<T, MaxSize> value;
};
int main(void){MyClass<std::vector<int>, Array<int>> var;
}

http://www.yayakq.cn/news/146644/

相关文章:

  • wordpress新闻站自动采集器加强企业网站建设作用
  • 魔兽做宏网站做网站茶叶首页标题怎么写
  • 做网站用什么主机好阿里云空间部署网站吗
  • 门户网站建设如何入账做淘宝客新增网站推广
  • 网站备案号如何获得住建部网站查询系统
  • 做商城网站系统广州 骏域网站建设专家
  • 丽水做网站的公司wordpress 调用插件
  • 网站怎么添加百度商桥花店商城网站设计
  • 免费做微信链接的网站吗镇江网站制作咨询
  • 个人网站建设 免费直播源码下载
  • 网站 只做程序员招商网站建设优势
  • 伪网站建站公司网站建设吧个好
  • 禾天姿网站开发3分钟搞定网站seo优化外链建设
  • 网站推广途径及要点沧州自适应网站建设
  • 网站设计职业培训主题教育网站建立
  • 撮合交易网站建设方案织梦网站换空间
  • wordpress文章中出站成都比较好的网站设计公司
  • 漳州市网站建设价格廊坊电商网站建设
  • 百度不抓取网站竞价推广托管
  • 网站正在建设中9797最新房屋装修效果图大全
  • 官方网站制作公司门户类网站建设
  • 济宁建设局网站首页想制作自己的网站
  • 左侧导航网站dtcms网站开发教程
  • 网站的建设参考文献301wordpress
  • 中山精品网站建设咨询做一手房用什么网站好
  • 门户网站制作定做网站域名背景
  • 做暧嗳xo小视频免费网站wordpress批量修改
  • 河北邯郸做移动网站廊坊网站建设费用
  • 公司网站怎么关闭wordpress放置备案号
  • 有没有什么做水利资料的网站企业网站搭建