小古银的官方网站(完整教程):http://www.xiaoguyin.com/
C++入门教程视频:https://www.bilibili.com/video/av20868986/
目录
写代码的时候经常会遇到比较长的数据类型,这个时候可以在合适的范围内,给这个数据类型起一个别名,缩短名字的长度。
typedef
基础示例
#include <iostream> // std::cout std::endl std::boolapha
#include <type_traits> // std::is_same
int main(void)
{
typedef unsigned long long ullong;
ullong value = 1024;
std::cout << "value的值是" << value << std::endl;
bool issame = std::is_same<unsigned long long, ullong>::value;
std::cout << std::boolalpha;
std::cout << "unsigned long long和ullong是否相同:" << issame << std::endl;
return 0;
}
输出结果:
value的值是1024
unsigned long long和ullong是否相同:true
基础讲解
using
关键字using
有多个作用,其中一个作用就是为数据类型起别名。
基础示例
#include <iostream> // std::cout std::endl std::boolapha
#include <type_traits> // std::is_same
int main(void)
{
using ullong = unsigned long long;
ullong value = 1024;
std::cout << "value的值是" << value << std::endl;
bool issame = std::is_same<unsigned long long, ullong>::value;
std::cout << std::boolalpha;
std::cout << "unsigned long long和ullong是否相同:" << issame << std::endl;
return 0;
}
基础讲解
可以看出只是将typedef unsigned long long ullong;
改成了using ullong = unsigned long long;
,其他代码没有改变。
typedef 和 using 的区别
using
的出现是用来代替typedef
的,在代码可读性上,使用using
可以更加直观地看出哪个是原类型哪个是新类型,而且typedef
在少数的某些情况,定义别名会比较复杂。
补充知识
使用using
给数据类型起别名的这个功能,是从C++11
开始引入的。