뚜둔뚜둔✩

판다의 개발일지

초기화 2

[C++] 생성자와 초기화 리스트 (Initializer List)

C++에서 생성자는 어떤 구조체 또는 클래스 객체의 생성 시 자동으로 호출되는 함수이다. 따라서 생성자에서는 흔히 초기화에 필요한 동작을 수행하게 되는데, 이때 멤버 변수를 초기화하는 데에는 2가지 방법이 있다. class Point { public: Point(int x_val, int y_val); private: int x; int y; };​ (1) 생성자 함수 블록 내에서 멤버 변수 초기화 (대입) Point::Point(int x_val, int y_val) { x = x_val; y = y_val; } (2) 초기화 리스트로 초기화 (초기화) Point::Point(int x_val, int y_val) : x(x_val), y(y_val) { } 초기화 리스트는 객체의 생성 후 값을 대입하..

C · C++ 2022.05.26

[C++] 초기화 (Initialization)

대입과 초기화 대입 (Assignment) 대입은 = 대입 연산자를 사용하여 어떤 변수에 값을 지정하는 것이다. 이를 "copy assignment"라고도 하는데, 그 이유는 대입은 등호 왼쪽의 객체(변수)에 등호 오른쪽의 값을 복사하는 행위이기 때문이다. 하지만 그렇기 때문에 연산자 왼쪽의 객체(변수)가 이미 정의/생성되어 있어야 한다. 초기화 (Initialization) 반면, 초기화는 객체의 생성과 함께 최초의 설정값을 지정하는 것이다. 따라서 함수 호출의 회수가 대입에 비해 적으며 더 빠르기도 하다. 초기화로는 상수(const) 변수의 값 설정 또한 가능하다. 초기화의 방식 class Point { public: Point(int x_val, int y_val) { x = x_val; y = y..

C · C++ 2022.05.25