C++中using 和 typedef 的区别_typedef using-CSDN博客
在C++中,“using”和“typedef”执行声明类型别名的相同任务。两者之间没有重大区别。C++中的“Using”被认为是类型定义同义词。此方法也称为别名声明。定义这些别名声明的工作方式类似于使用“using”语句定义C++中的变量。它有助于提高代码的整体可读性。与“typedef”语句不同,C++中的“using”能够创建别名模板,从而为基础类型提供功能。通过在C++代码中使用“using”,可以具有相同抽象级别的常用类型别名,并且可以在将来指定模板参数。
C++中的“Typedef”执行别名定义的类似任务。它基本上引入了一个名称,该名称使用该范围内的类型声明成为给定类型的同义词。“typedef”的一个重要特性是,它允许程序员封装可能随时间变化的实现细节。在C++中,typedef提供了'using'语句的所有功能,除了不允许使用对编码角度非常有用的模板。'typedef' 声明不像 union、enum、class 等那样引入新类型。相反,它们为已存在的类型提供新名称。这些新名称与其他标识符占用相同的命名空间。
- C++中 using 语句和 typedef 语句之间的主要区别之一是,“using”可以执行 “typedef” 可以执行的所有任务。
- 从程序员的角度来看,使用“using”语句非常容易和清晰,尤其是在使用函数指针及其别名定义时。事实上,'using'语句为代码提供了更高的可读性,如下面的示例所示:
typedef void(*func_pointer)(int);
vs
using func_pointer = void(*)(int);