Пример спецификатора C ++ Typedef | Учебное пособие по Typedef на C ++

Ключевое слово 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 следующими аспектами.

  1. Интерпретация Typedef выполняется компилятором, в котором препроцессор выполняет инструкции #define .
  2. typedef ограничен присвоением символьных имен только типам, тогда как #define можно использовать для определения псевдонима для значений, например, вы можете установить 1 как ONE, 3.14 как PI и т. д.
  3. #define скопирует и вставит значения определения в точке использования, в то время как typedef является фактическим определением нового типа.
  4. #define должен не заканчиваться точкой с запятой, но typedef должен заканчиваться точкой с запятой.
  5. Typedef следует правилу области видимости, что означает, что если новый тип определен в области (внутри функции), то имя нового типа будет видно только до тех пор, пока область видимости не появится. В случае #define, когда препроцессор встречает #define, он заменяет все вхождения, после этого (правило области действия не соблюдается).

Наконец, учебное пособие по примерам спецификатора C ++ Typedef окончено.

Оцените статью
nanomode.ru
Добавить комментарий