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

汕头网络公司网站建设天津网站公司

汕头网络公司网站建设,天津网站公司,中铁建设集团官网登录,成都网站建设外包公司3.2 虽旧犹新的语言特性 非类型模板参数 1.除了类型参数之外#xff0c;我们也可以为template使用nontype paramatter. 2.非类型参数看作是template类型的一部分 bitset32 flags32; bitset50 flags50; // 这两个看作是两个不同类型的template模板参数默认…3.2 虽旧犹新的语言特性 非类型模板参数 1.除了类型参数之外我们也可以为template使用nontype paramatter. 2.非类型参数看作是template类型的一部分 bitset32 flags32; bitset50 flags50; // 这两个看作是两个不同类型的template模板参数默认值 class template 可以拥有默认参数 function template也可以拥有默认参数 // 类模板 template typename T1, typename T2 int class TmpClass1 {};// no default argument for T2,感觉有点像函数的默认参数一个参数有了默认值那么这个参数后面的参数都必须有默认值 // 通过查阅资料类模板的默认模板参数从右往左开始指定 // template typename T1 double, typename T2 // class TmpClass2 {};// 函数模板 // 这两个都能编译通过 template typename T1 double, typename T2 void func(T1 arg1, T2 arg2) {}template typename T1, typename T2 double void func1(T1 arg1, T2 arg2) {}关键字typename 关键值typename用来指明后面紧跟的是个类型 注意事项C的一般性规则是template内的任何标识符都被视为一个value除非它加上typename #include iostreamclass Q { public:using SubType int; };template typename T class MyClass {// 这样写编译器会直接提示需要在前面加上typename// T::SubType *ptr;typename T::SubType *ptr;public:MyClass() {}~MyClass() {} };int main(int argc, char const *argv[]) {/* code */MyClassQ myclassq;return 0; }成员模板 class的成员函数可以是一个template。然而member template不可以是virtual 通常用来支持class template内的成员之间的自动类型转化。 #include iostream // 基本用法 class MyClass {public:MyClass() {}~MyClass() default;templatetypename Tvoid f(T a){// 这里面的操作是T这个类型支持的。;//} };// 常用用法 templatetypename T class MyClass1 {private:T value;public:template typename Xvoid assign(const MyClass1Xx){value x.getValue();}T getValue() const {return value;} };void f() {MyClass1double d;MyClass1int i;d.assign(d);d.assign(i); }// 特殊情况 member template 构造函数 template typename T class MyClass2 { public:// 没有这个会报错error: no matching function for call to MyClass2double::MyClass2()MyClass2() {}template typename UMyClass2(const MyClass2U x){std::cout MyClass(const MyClassUx) std::endl;} };void f1() {MyClass2double xd;MyClass2double xd2(xd);MyClass2int xi(xd);// 输出结果只有一次MyClass(const MyClassUx)// 通过查阅资料发现当xd2与xd类型相同时通过隐式生成的copy构造函数完成。类型不同的时候才通过我们写的那个template }int main(int argc, char const *argv[]) {f();f1();return 0; }嵌套式的class template template typename T class MyClass {templatetypename T2class NestedClass {}; };3.2.1 基础类型的明确初始化 知识点 “一个明确的构造函数调用但不给实参”这样的语法基础类型会被设定初值0 如果一个template强迫设置初值为0其值就是所谓的zero initialized,否则就是default initialized int i1; // undefined value int i2 int(); // 0 int i3{}; // 0利用这一个特性 template typename T void f() {T x T();std::cout x std::endl; }3.2.2 main()定义式 // 这个是我这补全工具自动补全生成的没有报错。 int main(int argc, char const *argv[]) { }// main的合法定义式 int main() {}int main(int argc, char **argv) {}int main(int argc, char *argv[]) {} // 通常情况下会写一个return 0,但是不是必须。 // 可以使用exit()/quick_exit()/terminate()
http://wiki.neutronadmin.com/news/350025/

相关文章:

  • 全国卫生机构建设管理系统网站上海注册公司买新能源车
  • 成都代做网站手机网站大全网站
  • 深泽网站制作如何快速新建一个网站
  • 优化网站专题如何欣赏网站
  • o2o网站建设流程sjz住房建设局网站
  • 房地产网站设计方案网站排名alexa
  • 怎样自己搭建一个做影视的网站代运营怎么做
  • 凡科网站建设网站延吉网站建设彩票
  • 设计网站页面好处介休做网站
  • 做外贸如何浏览国外网站帝国手机网站cms系统
  • 国家新闻大事网站如何做seo规划
  • 网站建设里怎么写文章米拓网站建设
  • 做网站如何屏蔽中国的ipwap网站和internet网站
  • 网站信息备案查询系统阿里巴巴对外贸易平台
  • 海北公司网站建设完全可定制的软件
  • 网站页面权重在阿里云做网站教程
  • 做网站需要的大图网络推广大概需要多少钱
  • 网站建设和推广电话销售话术网站建设好后能直接打开吗
  • 安徽网站开发与维护专业CDN 网站是否需要重新备案
  • 女性门户网站模板哔哩哔哩网页版打开
  • 网站建设 软件开发什么网站专做宠物物品
  • 西宁网站建设报价ew君博贴心2015网站备案没下来
  • 直播平台网站建设触屏手机网站设计
  • 比较好的高端网站制作公司呼和浩特免费制作网站
  • 网站建设和系统集成wordpress手机编辑器插件
  • 医疗 企业 网站制作泰安房产网
  • 网站建设公司怎么做的中铁三局招聘事件
  • 如何做彩票网站信息奉化市住房和城乡建设局网站
  • 钓鱼网站在线下载网站服务器出错了怎么办
  • 上海专业做网站较好的公司有哪些wordpress商品列表