在一行中, Java中没有什么等效于C++的typedef 。
在Java,类用于命名和构造类型,或者可以说类是C++的struct和typedef的组合函数。但这是完全不同的事情,在任何地方都不等同于typedef 。
typedef:这是一个关键字,不是C / C++语言中用来为现有数据类型分配替代名称的函数。当数据类型的名称在使用typedef关键字时变得有点复杂时,它将与用户定义的数据类型一起使用,除非没有必要。
使用typedef的语法:
typedef existing_name alias_name;
C++
// C++ program to demonstrate typedef
#include
using namespace std;
// After this line BYTE can be used
// in place of unsifted char
typedef unsigned char BYTE;
int main()
{
BYTE b1, b2;
b1 = 'a';
cout << b1 ;
return 0;
}
// This code is contributed by shubhamsingh10
C
// C program to demonstrate typedef
#include
// After this line BYTE can be used
// in place of unsifted char
typedef unsigned char BYTE;
int main()
{
BYTE b1, b2;
b1 = 'a';
printf("%c ", b1);
return 0;
}
输出:
a
带指针的typedef:
typedef也可以使用C / C++语言的指针,例如重命名现有的关键字。如果是指针, *绑定在右侧,而不绑定在左侧。
int* x, y;
在上面的语法中,我们实际上是将x声明为int类型的指针,而y将声明为纯整数。但是,如果我们使用typedef,则可以在单个语句中声明任意数量的指针,如下所示。
typedef int* IntPtr ;
IntPtr x, y, z;
typedef可用于:
- typedef可以为复杂的类型转换提供简单的名称
- typedef也可以用来给未命名的类型命名。在这种情况下,typedef将是该类型的唯一名称
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。