首页 > 编程语言 >C++ 起别名

C++ 起别名

时间:2022-08-17 16:55:50浏览次数:105  
标签:std typedef const string 别名 C++ using Vec

可以基于typedef、using等关键词实现

typedef 	std::vector<int> intvec;
using 	intvec	= std::vector<int>;	//这两个写法是等价的

另一个例子,函数指针:

typedef void (*FP) (int, const std::string&);
using FP = void (*) (int, const std::string&);

typedef std::string (* fooMemFnPtr) (const std::string&);
    using fooMemFnPtr = std::string (*) (const std::string&);

模板别名:

template <typename T>
using Vec = MyVector<T, MyAlloc<T>>;
 // usage
Vec<int> vec;

或者

template <typename T>
struct Vec
{
  typedef MyVector<T, MyAlloc<T>> type;
};
 // usage
Vec<int>::type vec;

可见,使用using关键词使得语法更简洁。

参考

https://blog.csdn.net/weixin_39640298/article/details/84641726

标签:std,typedef,const,string,别名,C++,using,Vec
From: https://www.cnblogs.com/Higgerw/p/16595824.html

相关文章

  • 基于C++的OpenGL 13 之Mesh
    1.引言本文基于C++语言,描述OpenGL的Mesh前置知识可参考:基于C++的OpenGL12之多光源-当时明月在曾照彩云归-博客园(cnblogs.com)笔者这里不过多描述每个名词、......
  • 基于C++的OpenGL 14 之模型加载
    1.引言本文基于C++语言,描述OpenGL的模型加载前置知识可参考:基于C++的OpenGL13之Mesh-当时明月在曾照彩云归-博客园(cnblogs.com)笔者这里不过多描述每个名词......
  • C++primer练习14.10-23
    练习14.10对于Sales_data的输入运算符来说给定下面的输入会发生什么?(a)0-201-99999-91024.95正常输入(b)1024.950-210-99999-9最后一个输入格式错误,会chongz练习14.11......
  • C++ 类型转换
    1、std::string转intstringvalStr="IconVisible"; intvalInt=atoi(valStr.c_str()); 2、std::string转char*stringvalStr="IconVisible";constchar*......
  • C++ 获得`wchar_t *`的长度
    sizeof(wchar_t);如果你想知道一个wchar_t串(wchar_t*)的大小,要使用wcslen:1size_twcslen(constwchar_t*ws);假设你想终止的C风格的字符串,你有两个选择空的长......
  • 2.C/C++的const
    1.C语言的const修饰的变量都有空间2.C语言的const修饰的全局变量具有外部链接属性3.C++语言的const修饰的变量有时有空间,有时没有空间(发生常量折叠,且没有对变量进行取址......
  • C++primer练习14.1-9
    练习14.1在什么时候情况下重载的运算符与内置运算符有所区别?在什么时候重载的运算符又与内置运算符一样::为类设计的运算符,尽量重载的运算符含义不要改变,如+还是加法练习1......
  • C++ typeid获取类型信息
    #include<iostream>#include<typeinfo>intmain(){inti;conststd::type_info&info=typeid(int);std::cout<<"typeid"<<info.name()<<std::......
  • C++ beginner(2)- variable
    initializationintx{};//xisfilledwithzeroes,sox==0intx{123};intx(123);inta,b=123,c{},d{456},e(789);int*x,y,z;==int*x;inty;int......
  • C++ 调整终端界面的大小
    #include<iostream>#include<string>#include<windows.h>#defineWIDTH40#defineHEIGHT15usingnamespacestd;voidinit(){//初始化终端界面char......