중괄호{ } 초기화
초기화 방식을 통일 시키고 축소 변환을 방지하는데 의미를 둔다.
여러가지 초기화 방식을 살펴보자.
class MakeClass
{
public:
};
int a = 0;
int b(0);
int c{ 0 }; // 중괄호 초기화
MakeClass mc;
MakeClass mc2 = mc; // 복사 생성자
MakeClass mc3{ mc2 };
중괄호 초기화는 컨테이너와 잘 어울린다.
// vector 기존 초기화 방법
vector<int> v1;
v1.push_back(1);
v1.push_back(2);
vector<int> v2(3, 1);
// 중괄호 초기화
vector<int> v3{ 1, 2, 3, 4 };
배열 초기화 방식처럼 벡터를 초기화 할 수 있다.
축소 변환 방지는 데이터 유실을 방지하는 것이다.
int x = 0;
double y = x; // 정수 -> 실수로 변환되면서 일부 데이터 유실 가능
double y{ x }; // error 발생
출처
https://www.inflearn.com/course/%EC%96%B8%EB%A6%AC%EC%96%BC-3d-mmorpg-1/dashboard
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
시리즈를 원활하게 학습하기 위한 기초적인 C++ 문법들에 대해 학습합니다. 어셈블리 언어부터 시작해서 기본 C++ 문법, STL, C++11까지 핵심적인 내용을 압축해서 다루게 됩니다., - 강의 소개 | 인
www.inflearn.com
'프로그래머 > CPP_강의정리' 카테고리의 다른 글
cpp Modern C++ using (0) | 2021.11.24 |
---|---|
cpp Modern C++ nullptr이 생긴 이유 (0) | 2021.11.23 |
cpp Modern C++ auto (0) | 2021.11.23 |
cpp algorithm 라이브러리 (0) | 2021.11.23 |
cpp STL 기타 연관 컨테이너 (0) | 2021.11.23 |