За автоматично в C++

Za Avtomaticno V C



C++ предоставя ключовата дума „auto“, която показва, че типът на променливата ще бъде изведен автоматично от нейния инициализатор, когато бъде декларирана за първи път. Освен това, методите, чийто тип на връщане е auto, ще проверяват своя израз на типа на връщане по време на изпълнение. Можем също да го дефинираме, тъй като се използва за автоматично откриване на типа данни на стойността. Когато използваме тази ключова дума „auto“ в цикъла „for“, не е необходимо да добавяме типа данни с всеки итератор. Ключовата дума „auto“ в цикъла „for“ инструктира компилатора да определи типа на декларирана променлива, използвайки нейния израз за инициализация.

Пример 1:

„iostream“ е първият заглавен файл тук, където са декларирани функциите на C++. След това добавяме заглавния файл „вектор“, който е включен тук, за да можем да работим с вектора и да функционираме с вектори. Тогава „std“ е пространството от имена, което вмъкваме тук, така че не е необходимо да поставяме това „std“ с всички функции поотделно в този код. След това тук се извиква „main()“. Под това създаваме вектор от тип данни „int“ с името „myNewData“ и вмъкваме някои цели числа в него.

След това поставяме цикъла „for“ и използваме тази ключова дума „auto“ вътре в него. Сега този итератор ще открие типа данни на стойностите тук. Получаваме стойностите на вектора „myNewData“ и ги запазваме в променливата „data“ и също ги показваме тук, докато добавяме тези „данни“ в „cout“.







Код 1:



#include
#include <вектор>
използвайки пространство от имена std ;
вътр основен ( ) {
вектор < вътр > myNewData { единадесет , 22 , 33 , 44 , 55 , 66 } ;
за ( Автоматичен данни : myNewData ) {
cout << данни << endl ;
}
}

Изход :
Видяхме всички стойности на този вектор, които са отпечатани тук. Отпечатваме тези стойности, като използваме цикъла „for“ и поставяме ключовата дума „auto“ вътре в него.







Пример 2:

Тук добавяме „bits/stdc++.h“, тъй като съдържа всички декларации на функции. След това поставяме пространството от имена „std“ тук и след това извикваме „main()“. Под това инициализираме „набор“ от „низ“ и го именуваме като „myString“. След това в следващия ред вмъкваме низовите данни в него. Вмъкваме някои имена на плодове в този набор, като използваме метода „insert()“.

Използваме цикъла „for“ под това и поставяме ключовата дума „auto“ вътре в него. След това инициализираме итератор с името „my_it“ с ключовата дума „auto“ и присвояваме „myString“ на това заедно с функцията „begin()“.



След това поставяме условие, което е „my_it“, което не е равно на „myString.end()“ и увеличаваме стойността на итератора с помощта на „my_it++“. След това поставяме „*my_it“ в „cout“. Сега той отпечатва имената на плодовете според азбучната последователност и типът данни се открива автоматично, тъй като поставихме тук ключовата дума „auto“.

Код 2:

#include
използвайки пространство от имена std ;
вътр основен ( )
{
комплект < низ > myString ;
myString. вмъкнете ( { 'Грозде' , 'портокал' , 'Банан' , 'круша' , 'ябълка' } ) ;
за ( Автоматичен my_it = myString. започвам ( ) ; my_it ! = myString. край ( ) ; my_it ++ )
cout << * my_it << ' ' ;

връщане 0 ;
}

Изход:
Тук можем да забележим, че имената на плодовете се показват в азбучна последователност. Тук се изобразяват всички данни, които вмъкнахме в набора от низове, защото използвахме „for“ и „auto“ в предишния код.

Пример 3:

Тъй като “bits/stdc++.h” вече има всички декларации на функции, ние го добавяме тук. След като добавим пространството от имена „std“, извикваме „main()“ от това място. „Наборът“ от „int“, който установихме по-долу, се нарича „myIntegers“. След това добавяме целочислените данни в следващия ред. Използваме метода „insert()“, за да добавим няколко цели числа към този списък. Ключовата дума „auto“ вече е вмъкната в цикъла „for“, който се използва под това.

След това използваме ключовата дума „auto“, за да инициализираме итератор с името „new_it“, като му присвояваме функциите „myIntegers“ и „begin()“. След това задаваме условие, което гласи, че „my_it“ не трябва да е равно на „myIntegers.end()“ и използваме „new_it++“, за да увеличим стойността на итератора. След това вмъкваме „*new_it“ в този раздел „cout“. Той отпечатва целите числа във възходящ ред. Тъй като ключовата дума „auto“ е вмъкната, тя автоматично открива типа данни.

Код 3:

#include
използвайки пространство от имена std ;
вътр основен ( )
{
комплект < вътр > моите цели числа ;
моите цели числа. вмъкнете ( { Четири пет , 31 , 87 , 14 , 97 , двадесет и едно , 55 } ) ;
за ( Автоматичен new_it = моите цели числа. започвам ( ) ; new_it ! = моите цели числа. край ( ) ; new_it ++ )
cout << * new_it << ' ' ;

връщане 0 ;
}

Изход :
Целите числа са показани тук във възходящ ред, както се вижда по-долу. Тъй като използвахме термините „за“ и „автоматично“ в предишния код, всички данни, които поставихме в набора с цели числа, се изобразяват тук.

Пример 4:

Заглавните файлове „iostream“ и „vector“ са включени, докато работим с векторите тук. След това се добавя пространството от имена „std“ и след това извикваме „main()“. След това инициализираме вектор от тип данни „int“ с името „myVectorV1“ и добавяме някои стойности към този вектор. Сега поставяме цикъла „for“ и използваме „auto“ тук, за да открием типа данни. Ние осъществяваме достъп по стойности на вектора и след това ги отпечатваме, като поставим “valueOfVector” в “cout”.

След това поставяме друг „for“ и „auto“ вътре в него и го инициализираме с „&& valueOfVector : myVectorV1“. Тук осъществяваме достъп чрез препратката и след това отпечатваме всички стойности, като поставяме „valueOfVector“ в „cout“. Сега не е необходимо да вмъкваме типа данни и за двата цикъла, тъй като използваме ключовата дума „auto“ вътре в цикъла.

Код 4:

#include
#include <вектор>
използвайки пространство от имена std ;
вътр основен ( ) {
вектор < вътр > myVectorV1 = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ;
за ( Автоматичен valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
за ( Автоматичен && valueOfVector : myVectorV1 )
cout << valueOfVector << ' ' ;
cout << endl ;
връщане 0 ;
}

Изход:
Показват се всички данни на вектора. Числата, които се показват в първия ред, са тези, до които сме осъществили достъп чрез стойности, а числата, които се показват във втория ред, са тези, до които сме осъществили достъп чрез препратка в кода.

Пример 5:

След като извикаме метода „main()“ в този код, ние инициализираме два масива, които са „myFirstArray“ с размер „7“ с тип данни „int“ и „mySecondArray“ с размер „7“ на „double“ тип данни. Вмъкваме стойностите и в двата масива. В първия масив вмъкваме стойностите 'integer'. Във втория масив добавяме „двойните“ стойности. След това използваме „for“ и вмъкваме „auto“ в този цикъл.

Тук използваме цикъл „база за диапазон за“ за „myFirstArray“. След това поставяме “myVar” в “cout”. Под това отново поставяме цикъл и използваме цикъла „обхват база за“. Този цикъл е за „mySecondArray“ и след това отпечатваме и стойностите на този масив.

Код 5:

#include
използвайки пространство от имена std ;
вътр основен ( )
{
вътр myFirstArray [ 7 ] = { петнадесет , 25 , 35 , Четири пет , 55 , 65 , 75 } ;
двойно mySecondArray [ 7 ] = { 2.64 , 6.45 , 8.5 , 2.5 , 4.5 , 6.7 , 8.9 } ;
за ( конст Автоматичен и myVar : myFirstArray )
{
cout << myVar << ' ' ;
}
cout << endl ;
за ( конст Автоматичен и myVar : mySecondArray )
{
cout << myVar << ' ' ;
}
връщане 0 ;
}

Изход:
Всички данни на двата вектора се показват в този резултат тук.

Заключение

Концепцията „за автоматично“ е проучена обстойно в тази статия. Обяснихме, че „автоматично“ открива типа данни, без да го споменава. Разгледахме множество примери в тази статия и също предоставихме обяснението на кода тук. Ние подробно обяснихме работата на тази концепция „за автомобил“ в тази статия.