首页 > 编程语言 >c++模板,STL

c++模板,STL

时间:2024-09-25 22:23:37浏览次数:10  
标签:类型转换 函数 推导 STL c++ 隐式 模板 name

                                        C++提高编程

模板

函数模板

  • 语法:
    • template
  • 用法:
    • //自动类型推导
      mySwap(a,b);

      //显示指定类型
      mySwap<int>(a,b);
  • 注意事项
    • 自动类型推导,必须推导出 一致 的数据类型T,才可以使用 
    • 模板必须要确定出T的数据类型,才可以使用
  • 与普通函数的区别
    • 普通函数调用时可以发生自动类型转换(隐式类型转换)
    • 函数模板调用时,如多利用了自动类型推导,不会发生隐式类型转换
    • 如果利用显示指定类型的方式,可以发生隐式类型转换
    • 普通函数和函数模板同时存在,优先调用普通函数 可以用<>强制执行模板函数
    • 函数模板也可以发生重载

类模板

template<class NameType , class AgeType = int>
class Person{
public:
    Person(Nametype name, AgeType age){
        this.m_name = name;
        this.m_age = age;
    }
 

标签:类型转换,函数,推导,STL,c++,隐式,模板,name
From: https://blog.csdn.net/yiangyang_com/article/details/142534608

相关文章

  • C++——输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,输出THGIL。用string方法
    没注释的源代码#include<iostream>#include<string.h>usingnamespacestd;intmain(){   stringa;   cout<<"请输入字符串a:";   cin>>a;   intk;   k=a.size();   for(inti=k-1;i>=0;i--)   {       cout<<a[i];......
  • C++——输入三个整数,按照由小到大的顺序输出。用指针方法处理。
    没注释的源代码#include<iostream>usingnamespacestd;voidswap(int*m,int*n);intmain(){   inta,b,c;   int*p1,*p2,*p3;   cout<<"请输入三个整数:"<<endl;   cin>>a>>b>>c;   p1=&a;p2=&b;p3=&c;   ......
  • 2024.9.24 Python与C++面试八股文
    1.externextern关键字用于在多个文件中引用同一个全局变量的声明在一个头文件中,如果这个变量声明了,但是在cpp文件中没找到他的定义,那么编译就会报错,但是如果加了extern,编译器就不会给头文件报错,而是给cpp文件报错,如果函数没定义的话。或者定义出错的话。2.关于反复调用简......
  • 【c++实战项目】从零实现一个高并发内存池
    主页:醋溜马桶圈-CSDN博客专栏:实战项目_醋溜马桶圈的博客-CSDN博客gitee:mnxcc(mnxcc)-Gitee.com目录1.项目介绍1.1 这个项目做的是什么?1.2这个项目的要求的知识储备和难度?2.什么是内存池2.1 池化技术2.2 内存池2.3 内存池主要解决的问题2.4malloc3.开胃......
  • C++(引用、窄化、输入)
    1.引用reference(重点)1.1基础使用引用就是某个变量或常量的别名,对引用进行操作与操作原变量或常量完全相同。#include<iostream>usingnamespacestd;intmain(){inta=1;int&b=a;//b是a的引用b++;cout<<a<<""<<b<<endl;/......
  • C++学习
    1、纯虚函数纯虚函数本质上与其他语言(如Java,C#)中的抽象方法或接口相同。纯虚函数允许我们在基类中定义一个没有实现的函数,然后强制子类去实现该函数。在面向对象中,创建一个类,只由未实现的方法组成,然后强制子类去实际实现它们,这非常常见,这通常被称为接口。因此,类中的接口只包......
  • C/C++语言基础--C++类数据、静态与非静态、常成员、友员、成员变量与函数指针等相关知
    本专栏目的更新C/C++的基础语法,包括C++的一些新特性前言通过前面几节,我们介绍了C++的类与对象、构造与析构函数、拷贝等相关知识,这一篇将详细介绍了C++的成员变量相关的知识点与扩展C语言后面也会继续更新知识点,如内联汇编;本人现在正在写一个C语言的图书管理系统,1000多......
  • Day1 c++(发展历史,特点,面向对象核心术语,开发环境,新建项目,引用,窄化,输入,字符串,函数)
    1.C++发展历史(了解)1983年,贝尔实验室(BellLabs)的BjarneStroustrup发明了C++。C++在C语言的基础上进行了扩充和完善,是一种面向对象程序设计(OOP)语言。Stroustrup说:“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“newC”,之后被称为“Cwi......
  • 【C++】队列
    示意图什么是队列队列(queue)是一种具有先进入队列的元素一定先出队列性质的表。由于该性质,队列通常也被称为先进先出(firstinfirstout)表,简称FIFO表。就像排队一样,最先到的人也就最先买到单,优先离开队伍头文件与声明头文件#include<queue>声明定义queue<G>qu......
  • 【C++】面向对象编程的三大特性:深入解析继承机制
    C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriority......