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

客户做网站一定报价怎么办新服务器做网站

客户做网站一定报价怎么办,新服务器做网站,免费模板最多的视频制作软件,我想自己开发一个游戏目录 1.模板 1.1模板基本使用 1.2.模板实例化 1.3函数模板的匹配规则 2.类模板 !!!!!!!目前更新到这#xff0c;后面再更新模板的其他内容#xff0c;本文章只是第一部分#xff0c;第二部分等后面我再写!!!! 1模板 1.1模板基本使用 templatetypename T void …目录 1.模板 1.1模板基本使用 1.2.模板实例化 1.3函数模板的匹配规则 2.类模板 !!!!!!!目前更新到这后面再更新模板的其他内容本文章只是第一部分第二部分等后面我再写!!!! 1模板 1.1模板基本使用 templatetypename T void swap(T left, T right) {T temp left;left right;right temp; }int main() {int a 2, b 3;double a1 2.1, b1 3.1;swap(a, b);swap(a1, b1);return 0; } auto不能用在函数参数上而void*也难以解决自定义类型所以c这里又出现了 个模板用来解决类似的问题。像上面我们将交换函数用这种方式写就可以让内置和自定义都能 放进去。 template是关键字typename可以用class替代但不能用struct替代 templatetypename T1,typename T2,typename T3,typename T4 注意T1,T2可以是一样的类型比如函数参数是T1 x,T2 y 。我们传可以都穿int最后T1和T2就都会是int类型。  像上面的例子每次调用不同类型本质上是调用了不同的函数编译器自身麻烦点每次都生成个函数来用但我们只管传就行。 1.2.模板实例化 templatetypename T T swap(const T left, const T right) {return leftright; }int main() {int a 2, b 3;double a1 2.1, b1 3.1;swap(a, a1);swap(b, b1);return 0; } 这个情况模板参数只有一个T我们传两个不同类型的参数给函数 编译器无法确认T到底是什么类型这样就会报错。 我们可以通过给更多的模板参数函数的参数也用不同的模板参数还有就是在传参的时候做改变 T add( T left, T right) {return left right; }int main() {int a 2, b 3;double a1 2.1, b1 3.1;int gadd(a, b);g add(a, (int)a1);cout g endl;return 0; } 这时候可以用两种一个是强转像上面的一样。一种就是addint(a,a1); 也就是显示实例化 但这样还是会报错为什么呢因为函数参数我们用了引用但这样的话这两种方法本质上都是让传递的参数适应函数模板并且这两种方法都是产生了a1都是进行了类型转换转换后产生的临时变量再传参但是引用一般不支持临时变量的引用所以上面的方法必须还得对函数的参数进行改变如下 T add( const T left, const T right)//const加引用才支持临时变量 {return left right; }int main() {int a 2, b 3;double a1 2.1, b1 3.1;int gadd(a, b);g add(a, (int)a1);cout g endl;return 0; }而显示实例化一般是针对模板函数的参数里面没有模板参数用上面的例子的话就是add函数的参数里面没有T类型而是用在了函数体里面。 1.3函数模板的匹配规则 int Add(double left, double right) {return left right; } templateclass T T Add(T left, T right) {return left right; } void Test() {Add(1, 2); // 与非模板函数匹配编译器不需要特化Adddouble(1, 2); // 调用编译器特化的Add版本 } 非模板函数与同名模板函数可以同时存在。Add(1, 2)这句调用第一个函数因为对于编译器来说会省下一个实例化模板的操作 但如果 Adddouble(1, 2);的话就会强制让编译器实例化模板函数。int Add(int left, int right) {return left right; } templateclass T1, class T2 T1 Add(T1 left, T2 right) {return left right; } int main() {Add(1,2);这里会直接调用非模板函数Add因为类型完全匹配Add(1,2.0);//这里如果没有模板函数那么也是可以传参的只是会进行隐式类型转换。//但这里有函数模板那么编译器就会选择实例化函数模板产生一个更加匹配的函数来接收参数return 0; } 注意!! 函数模板不支持自动类型转换普通函数支持2.类模板 关于类模板先看下面的代码 class aaa { public:aaa(){b 10;} private:int b; };int main() {aaa* a new aaa;return 0; } 这样这个类里面b是固定的int类型我们如果想让b存别的类型就得cv一下再写个别的类型的 但通过类模板比如 templatetypename T class aaa { public:aaa(T b){_b b;} private:T _b; };int main() {aaaint a;return 0; } 通过实例化我们传什么类型就生成什么类型的类。 实例化之后的才是一个类上面那个是类模板 如果类模板里声明一个函数类模板外定义函数那么在类模板外定义的时候要先加个 templatetypename T(具体不一定这样但是重点是加模板参数列表)在函数定义的上面 templatetypename T class aaa { public:aaa(T b); private:T _b; };template class T aaaT::aaa(T b) {//..... } 声明和定义必须在同个文件。
http://www.pierceye.com/news/370255/

相关文章:

  • 网站规则购房网官网
  • 苏州市吴江区住房和城乡建设局网站西安市今天发生的重大新闻
  • 网站需求建设关系书赚钱软件学生
  • 长春做网站4435怎么做手机网站
  • 电子政务网站系统微信扫码登录wordpress
  • 设计网站一般要多少钱方维服务公司服务范围
  • 济南外贸网站制作做网站推广每天加班
  • 网站开发虚拟主机系统做网站的新闻
  • 黄骅港信息吧windows优化大师好用吗
  • 网站编辑怎么做哪些知名网站用wordpress
  • 兰州网站seo收费标准小程序和wordpress
  • 北京市网站设计h5制作平台免费推荐
  • 青岛网站设计企业网络营销个人感悟小结
  • 酒店网站源码宁夏网站制作哪家好
  • 租个网站服务器多少钱电子商务网站的建设流程
  • 正规营销型网站定制上海缘震网络科技有限公司
  • 网站建设的目的个人养老金查询
  • 沧州英文模板建站长沙 网站建设公司
  • 广州网站备案公司南昌网站建设网站推广
  • 龙岗外贸网站建设公司博览局网站建设
  • 怎么做淘课网站百度网站优化方案
  • 余姚做网站深圳华强北怎么了
  • 网站建设单元格边距WordPress进
  • 备案后的域名改网站名沪深300指数怎么买
  • 行业网站维护买电脑wordpress
  • 廊坊兼职网站建设网站图片怎么做的高级
  • pc网站转换手机网站wap用jsp源码做网站
  • 重庆慕尚网站建设在线美工
  • 珠海网站设计培训源码网站
  • 中山好的做网站的公司网站seo外包