当前位置: 首页 > 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.hrbkazy.com/news/41839.html

相关文章:

  • 北京想象力网站建设seo高手是怎样炼成的
  • 在视频网站中做节目怎么挣钱永久免费二级域名申请
  • 新手做免费网站网站建设公司大型
  • 辽宁城市建设网站网站开发用什么语言
  • 前端做微网站发布悬赏任务的推广平台
  • 做旅游攻略比较好的网站北京百度快速优化排名
  • wordpress特色图片url广东seo价格是多少钱
  • 政务性网站制作公司crm
  • 百度推广电话号码杭州seo运营
  • 宣城做网站站长工具网站测速
  • 万网官网登录入口网站排名优化需要多久
  • 龙口网站建设哪家好手机做网页的软件
  • wordpress最新模板下载seo服务外包客服
  • 平原县建设局网站上海推广网络营销咨询热线
  • 定制开发生产管理软件推荐seo排名优化培训网站
  • 合肥网站建设工作如何自己搭建一个网站
  • 电脑网页打不开怎么回事厦门seo排名
  • 商业网站开发入门选课网站搜索引擎优化的基本内容
  • 做网页网站抚顺优化seo
  • 中山有网站建设公司吗中国刚刚发生8件大事
  • php动态网站开发师学seo的培训学校
  • 遵义网站制作小程序自媒体软文发布平台
  • 客服图片优化是什么意思
  • 项目设计高中综评百度网盘seo优化
  • 响应式网站建设看什么书如何推广一个平台
  • 万润 企业网站建设百度浏览器入口
  • 购物网站的建设思维导图企业网站优化软件
  • 曲周企业做网站推广搜关键词网站
  • asp.net 怎样生成网站想要推广网页
  • 做日本外贸网站有哪些资料如何制作自己的网站