📜  Java是否有等效于C / C++的typedef?

📅  最后修改于: 2021-05-25 19:54:17             🧑  作者: Mango

在一行中, Java中没有什么等效于C++的typedef

在Java,用于命名和构造类型,或者可以说是C++的structtypedef的组合函数。但这是完全不同的事情,在任何地方都不等同于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等的更多准备工作,请参阅“完整面试准备课程”