Есть ли в Java эквивалент typedef C / C ++?

Опубликовано: 30 Декабря, 2021

Одной строкой в Java нет ничего, что было бы эквивалентно typedef C ++.

В Java класс используется для имен и типов конструкта или мы можем сказать , что класс является комбинированной функцией C ++ s структура и ЬурейеЙ. Но это совсем другое дело и нигде не эквивалент typedef .

typedef: это ключевое слово, а не функция, которая используется в языке C / C ++ для присвоения альтернативных имен существующим типам данных. Он используется с пользовательскими типами данных, когда имена типов данных немного усложняются при использовании ключевого слова typedef , если в этом нет необходимости.
Синтаксис использования typedef:

typedef existing_name alias_name;

C ++

// C++ program to demonstrate typedef
#include <bits/stdc++.h>
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 <stdio.h>
// 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;
}
Выход:
а

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 и многому другому, см. Полный курс подготовки к собеседованию .