728x90
??? 내가 auto를 찾아보게 된 경로가 무엇인가?
C++을 사용하여 set을 구현하는 도중 set의 모든 element에 접근하여 이들을 출력하는 for문을 확인하였다.
cout << s.size() << "\n";
for (auto x : s) {
cout << x << "\n";
}
이 때 auto를 보았고 반복문에 적용되어 있는 낯선 자료형을 보고 무엇인지 찾아보았다.
auto는 무엇이고 어떻게 사용할 수 있는 것 일까?
1. auto란?
-> 타입 추론
-> 데이터 타입 추론
-> 자동 데이터 추론
-> 초기화 값에 따라 알아서 데이터 타입을 정해주는 키워드
라고 불린다.
=> 선언한 변수나 람다 식의 타입을 컴파일러에게 추론하도록 맡긴다.
ex)
auto a1 = 10; // int 타입
auto a2 = 10.0f; // float 타입
auto a3 = "c"; // char 타입
auto a4 = "BlockDMask"; // string 타입
auto a5 = {10, 20, 30}; //int 배열 타입
단순한 자료형 뿐만 아니라 iterator를 선언하는 데에서도 적용 할 수 있다.
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main(void)
{
vector<string> v = { "yo", "nuhmoo", "zipeh", "gago", "shipeun", "girl" };
cout << "vector<string> v : ";
//vector<string>::iterator = v.begin();
auto it = v.begin();
for (; it != v.end(); ++it)
{
cout << *it << ", ";
}
return 0;
}
auto 타입은 range base for문과 함께 쓰면 유용하다고 한다.
다음 포스팅에서 이에 대해 다루어 보도록 하겠. 땨.
참고 url : https://blockdmask.tistory.com/384
728x90
'😒 저 저 저 개념없는 나 > 🤬 이런 C++' 카테고리의 다른 글
[c++] std::tie() (0) | 2022.06.05 |
---|---|
[C++] 헤더 <algorithm > (0) | 2022.04.19 |
[C++] pair 자료형 (0) | 2022.04.16 |