Ключевое слово C ++ Typedef означает «определение типа» и используется для явного объявления нового типа данных. Однако следует отметить, что использование typedef не позволяет вам создавать новый тип данных с нуля, а вместо этого позволяет вам переименовать существующий тип данных. Это означает, что вы не можете изменить правила/инструкции для определенного ранее существующего типа данных, но можно изменить только его вызывающее имя.
# Что такое Datatype в C ++
Одно из намерений наличия типов — убедиться, что переменные всегда используются таким образом, чтобы они были предназначены для использования. C и C ++ предоставляют несколько встроенных типов данных, основанных на базовом представлении данных.
# Роль Typedefs
Определение типа не дает такой же безопасности, как наличие классов-оболочек, но это означает, что вы, по крайней мере, можете прояснить, что функция должна возвращать.
Typedefs можно использовать для присвоения конкретных имен встроенным типам: например, вы увидите, что тип size_t используется вместо обычного старого беззнакового int, когда полезно указать, что ожидается значение использоваться в качестве размера — например, функция strlen возвращает тип size_t вместо целого числа без знака.
Спецификатор Typedef C ++
typedef используется для присвоения типу данных нового имени.
Typedef в основном используется для упрощения понимание различных значений, используемых в исходном коде, и сделать их легко читаемыми в документации кода, особенно для начальных ннерс.
Короче говоря, typedef позволяет нам иметь более лаконичные и значимые имена для существующих типов данных. Использование разумных имен в коде позволяет пользователю преодолеть кривую обучения, чтобы запомнить имена типов данных по умолчанию.
Это позволяет нам больше сосредоточиться на фактической концепции или реализации, выполняемой с помощью кода.
См. следующий синтаксис.
typedef data_type новое_имя;
См. следующий синтаксис.
typedef float decimal_values;
Это изменяет тип данных float, давая ему новое имя decimal_values, доступное внутри блока, в котором он определен.
# Программа для объявления Typedef
#include с использованием пространства имен std; int main () {typedef int numbers; //Переименование типа данных int в число чисел a, b, result; cout > a >> b; result = a * b; coutСм. Следующий пример.
![]()
# Преимущество использования Typedef
Typedef также помогает сделать код легко изменяемым. Если вы когда-нибудь захотите изменить контекст для всего кода, включая элементы данных, вы можете перейти к объявлению typedef и затем изменить фактический тип данных там в соответствии с требованиями.
Например, ,
Ранее мы определили типы данных float по умолчанию, дав им новое имя decimal_values.
typedef float decimal_values;Но предположим с расширением кодовой базы требуемый диапазон для плавающего значения увеличился, превзойдя те, которые предоставлены типом данных float по умолчанию.
В этом случае мы можем перейти к объявлению typedef и изменить data_type с float для удвоения типа данных или согласно нашему требованию.
typedef double decimal_values;#Scope of Typedef
При использовании typedef имя типа данных изменяется только внутри блока, в котором он объявлен, а не во всем документе.
Например, если он определен внутри определенной функции или класса, он будет доступен только внутри этого блока кода. Благодаря этому у нас может быть одно и то же имя, но с разными определениями типов данных в зависимости от блока кода, в котором оно определено.
Предположим, у нас есть функция с именем add_int (), которая резервирует память для двух переменных. Затем он складывает их и возвращает результат.
void add_int () {typedef int numbers; numbers a, b, result; cin >> a >> b; result = a + b; return result;}Теперь, если мы хотим расширить эту функцию, чтобы можно было добавить больше типов данных, таких как float, мы можем заменить ключевое слово int ключевым словом float в определении функции .
Это уменьшает хлопоты, связанные с обращением к каждому объявлению элемента данных в функции и его последующей заменой.
void add_int () {typedef float numbers; numbers a, b, результат; cin >> a >> b; result = a + b; return result;}Typedef и указатели
typedef может использоваться в указателе также из-за его единственного преимущества. В стандартном указателе, как показано ниже.
int * x, y;Если мы объявим это, x будет указателем типа int, а y - простым целым числом. Но мы можем преодолеть это, используя концепцию typedef.
typedef int * ptr; ptr x, y, z;Это означает, что x, y и z три являются указатель.
typedef отличается от #define следующими аспектами.
- Интерпретация Typedef выполняется компилятором, в котором препроцессор выполняет инструкции #define .
- typedef ограничен присвоением символьных имен только типам, тогда как #define можно использовать для определения псевдонима для значений, например, вы можете установить 1 как ONE, 3.14 как PI и т. д.
- #define скопирует и вставит значения определения в точке использования, в то время как typedef является фактическим определением нового типа.
- #define должен не заканчиваться точкой с запятой, но typedef должен заканчиваться точкой с запятой.
- Typedef следует правилу области видимости, что означает, что если новый тип определен в области (внутри функции), то имя нового типа будет видно только до тех пор, пока область видимости не появится. В случае #define, когда препроцессор встречает #define, он заменяет все вхождения, после этого (правило области действия не соблюдается).
Наконец, учебное пособие по примерам спецификатора C ++ Typedef окончено.