当前位置: 首页 > 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://www.yutouwan.com/news/335028/

相关文章:

  • 网站开发招商计划书免费一级域名申请
  • 网站的标题与关键词免费seo排名工具
  • 北京 外贸网站网上注册公司app
  • 网站建设最重要的环节河北廊坊网站建设
  • 网站实名认证中心山东省建设工程网站
  • 张家界城乡建设网站百度ai营销中国行
  • 有哪些网站是中国风网站淘宝支持做微交易网站吗
  • 集团网站建设费用论坛网站 备案
  • 网站建设 信科网络兰州网站seo收费标准
  • 顺德做网站推广哪家好外国优秀网站
  • 网站服务器哪些好网站如何发布
  • 互联网网站建设趋势大连九死一疯事件
  • 自己怎么做返利网站吗python编程代码大全
  • 京东商城的网站怎么建设的电商平台项目商业计划书
  • 天猫网站的建设oppo软件商城
  • 山西seo网站设计网站开发人员薪酬
  • 正能量网站不用下载直接进入做签证网站
  • 工业园做网站的公司菲律宾菠菜网站建设
  • 建设征婚网站网站优化检查
  • 网站开发技术一般需要什么语言汕头自助建站软件
  • 做潮鞋的网站和平台征求网站建设意见的通知
  • iis7部署网站wordpress 播客主题
  • 黄骅市网站建设公司郑州网站推广单位
  • 营销型网站一站式服务合肥建设公司网站
  • 微金所网站谁做的北京网页设计和网页制作
  • 在线网站软件免费下载自己找网站开发项目
  • 企业网站建设方案机构win2003 wordpress 安装
  • 化工类 网站模板北京快三平台
  • 做个企业网站大概多少费用seo要点
  • 南京网站设计机构mg动画制作软件