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

莆田做网站建设seo搜索引擎是什么意思

莆田做网站建设,seo搜索引擎是什么意思,做网站空间要多大,医院网站建设原理目录 函数模板基础 函数模板定义 函数模板实例 函数模板调用 函数模板本质 模板函数特化 模板参数限定 默认模板参数 多个模板参数 非类型模板参数 函数模板拓展 模板参数匹配规则 函数模板基础 函数模板定义 使用 template typename T​​​​​ 或 templ…目录 函数模板基础 函数模板定义 函数模板实例 函数模板调用 函数模板本质 模板函数特化 模板参数限定 默认模板参数 多个模板参数 非类型模板参数 函数模板拓展 模板参数匹配规则 函数模板基础 函数模板定义 使用 template typename T​​​​​ 或 template class T​​​​​ 语法来声明函数模板并在函数定义中使用模板参数。 template typename T T max(T a, T b) {return (a b) ? a : b; }函数模板实例 在使用函数模板之前需要进行模板实例化将模板参数替换为具体的类型。实例化可以通过显式指定模板参数或使用自动类型推导来完成。显式实例化可以使用类型​​​​的语法显式指定模板参数。例如maxint(5, 3)​​​​实例化了max​​​​函数模板为类型参数为int​​​​的版本。自动类型推导C11引入了自动类型推导允许编译器根据函数实参的类型推导出模板参数的类型。例如max(5, 3)​​​​可以自动推导为maxint(5, 3)​​​​。 函数模板调用 一旦函数模板实例化完成就可以像普通函数一样调用它。使用实际的参数来调用函数模板并根据实参类型匹配合适的模板实例。 int main() {int result1 maxint(5, 3); // 显式实例化为maxint(5, 3)返回5int result2 max(3, 5); // 自动类型推导为maxint(3, 5)返回5double result3 maxdouble(3.14, 2.71); // 显式实例化为maxdouble(3.14, 2.71)返回3.14double result4 max(2.71, 3.14); // 自动类型推导为maxdouble(2.71, 3.14)返回3.14return 0; }函数模板本质 int ​​​​ float ​​​​ 模板函数特化 模板特化允许为特定的类型提供特殊的实现。可以为函数模板提供显式的特化版本以处理特定类型的参数。 #include iostreamtemplate typename T T max(T num1, T num2) {return num1 num2 ? num1 : num2; }//函数模板特化 template const char* maxconst char*(const char* str1, const char* str2) {return strlen(str1) strlen(str2) ? str1 : str2; }int main() {auto ret1 max(222, 111); //maxint(222, 111);auto ret2 max(3.14f, 6.66f); //maxfloat(3.14f, 6.66f);auto ret3 max(Hell, World);return 0; }模板参数限定 #include iostreamtemplate typename Type Type Max(Type obj1, Type obj2) {static_assert(std::is_integralType::value || std::is_floating_pointType::value , Error Type CC);return (obj1 obj2) ? obj1 : obj2; }int main() {Max(111, 222); //MaxintMax(111.111, 222.222); //MaxfloatMax(Hell, World);return 0; }默认模板参数 可以为函数模板的模板参数提供默认值使得在使用函数模板时如果没有显式提供模板参数将使用默认值。 #include iostream// 带有默认模板参数的函数模板 template typename T int void printValue(T value 0) {std::cout value std::endl; }int main() {printValue(); // 使用默认模板参数 int默认参数值为 0printValue(5); // 使用默认模板参数 int指定参数值为 5printValue(3.14); // 推导为 double默认参数值为 0.0printValue(Hello); // 推导为 const char*默认参数值为 nullptrreturn 0; }多个模板参数 函数模板可以有多个模板参数。可以使用逗号分隔的方式声明多个模板参数并在函数定义中使用它们。 template typename T, typename U void printPair(T key, U value) {std::cout Key: key , Value: value std::endl; }非类型模板参数 C还支持非类型模板参数允许在模板中使用非类型的值作为参数。非类型模板参数可以是整数、指针、引用、枚举、指向成员的指针等。 #include iostream//多个模板参数 非类型模板参数 template typename T, int N T* CC_Alloc() {try{T* p new T[N];for (size_t i 0; i N; i){p[i] 0;}return p;}catch (const std::exception e){//std::bad::allocreturn NULL;} }int main() {auto* p CC_Allocint, 5();return 0; }函数模板拓展 模板参数匹配规则 当定义了多个模板参数则在函数内部必须使用否则编译器会报错 #include iostreamtemplate typename T, typename N T Fun(T t, T n) {return t; }int main() {//代码报错 - 未使用 NFun(1, 1);return 0; }类型形式参数表中可以使用typename​​​和class​​​ #include iostreamtemplate class T, class N T Fun(T t, N n) {return t; }int main() {//代码报错 - 未使用 Nreturn 0; }模板函数中参数不是基本类型时如果要想使用运算符操作需要类内部进行重载 #include iostreamclass Person { public:int m_Age;Person(int nAge): m_Age(nAge){}bool operator(const Person ref){return this-m_Age ref.m_Age ? true : false;} };template typename T T Max(T param1, T param2) {return param1 param2 ? param1 : param2; }int main() {Person p1(18);Person p2(28);auto p3 Max(p1, p2);return 0; }函数重载机制下的普通函数与模板函数调用顺序 #include iostreamtemplate typename T T Max(T param1, T param2) {std::cout 模板函数被调用了\r\n;return param1 param2 ? param1 : param2; }int Max(int param1, int param2) {std::cout 普通函数被调用了\r\n;return param1 param2 ? param1 : param2; }int main() {auto p1 Max(1, 2);auto p2 Maxint(1, 2);return 0; }函数模板的嵌套使用 #include iostreamtemplate typename T void OuterFunction(T value) {std::cout OuterFunction: value std::endl; }template typename T void InnerFunction(T value) {std::cout InnerFunction: value std::endl; }template typename T void NestedFunction(T value) {OuterFunction(value);InnerFunction(value); }int main() {int number 42;NestedFunction(number);std::string text Hello;NestedFunction(text);return 0; }
http://www.zqtcl.cn/news/683654/

相关文章:

  • 永康做网站的化工网站模板免费下载
  • 潍坊高密网站建设如何做网页推广
  • 杭州房产网站建设wordpress 替换谷歌字体
  • 陕西省建设工程质量安全监督总站网站开发公司与施工单位工程造价鉴定报告
  • 嘉兴网站建设企业阿里巴巴国际贸易网站
  • 临沂手机网站建设珠海手机网站建设价格
  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的
  • 青海手机网站建设北京网站建设推荐华网天下
  • 网站网站建设公司孩子学编程网上课程哪家好
  • 跨境电商网站建设方案书江门网页制作
  • 门户网站建设定做如何使用域名访问网站
  • 做网站后台运营这个工作怎么样建设网站销售
  • 两学一做网上答题网站做网站域名是赠送的吗
  • 江苏住房城乡建设厅网站WordPress上传Excel
  • 广州淘宝网站建设济南高新区网站建设
  • 如何注册一个网站长沙的科技公司
  • 温州网络公司网站建设永久免费云linux服务器网页
  • 中国教育网站官网网站建设是半年的持久战
  • 为什么营销型网站比普通网站建站贵常州seo排名收费
  • 商贸公司寮步网站建设极致发烧学网站建设基础
  • 二手汽车手机网站模板四川百度推广排名查询
  • 做火情监控网站需要用什么系统做一个网站多少费用
  • 成都建设网站首页贺州网站建设