목록프로그래밍 (Programming) (27)
Automotive Software
클래스의 멤버변수 초기화는 보통 해당 클래스의 생성자에서 수행되며, 내부 위치는 생성자의 초기화 단계 생성자 매개 변수 목록 마감 괄호 뒤 콜론 써줌 다음 줄에 멤버 변수들의 이름과 괄호를 써줌, 괄호 내에 초기화 값(변수) 명시 생성자 몸통 내부로 나눌수 있음 class cMyClass { public: cMyClass(); cMyClass(int inVal1, int inVal2); ~cMyClass(){} private: memVar1; memVar2; }; #if EITHER_USE_THIS // 몸통 내부에서의 초기화 cMyClass::cMyClass() { memVar1 = 1; memVar2 = 2; } #else // 초기화 단계에서 예시 1 cMyClass::cMyClass(): memV..
멤버함수 기본값 선언 비클래스 함수의 기본값 선언 방식과 같은 법칙 적용 아래와 같이 함수 선언 시 기본값 선언, 예, bool takeInitVal = false; 선언된 또는 전달된 기본값을 토대로 전달받은 값을 사용할지 생성자에 의해 할당된 초기값을 사용할지 결정하도록 구현할 수 있음 class cMyClass { public: cMyClass(int initMemVar1, int initMemVar2); ~cMyClass(){} void memFunc(int inVal1, int inVal2, bool takeInitVal = false); private: int memVar1; int memVar2; }; cMyClass::cMyClass(int initMemVar1, int initMemVar..
변수 및 클래스 등 선언 시 사용된 이름 대신 해당 타깃에 접근할 수 있는 하나의 별칭이자 동의어 선언 방법 타겟의_형 참조_연산자(&) 참조자의_이름 선언 후 반드시 초기화, 미 초기화 시 컴파일러 오류 보고 int myInteger; int & rMyInteger = myInteger; cMyClass myClass; cMyClass & rMyClass = myClass; 타겟의 주소 == 참조자의 주소 &myClass == &rMyClass C++에서는 참조자의 주소 접근방법을 별도로 명시하지 않음 참조자의 초기화 눌(NULL) 초기화 허용 안됨 ; 항상 어떤 타깃을 가리켜야 함 ;애기치 못한 동작 발생 초기화 시 한번 타깃을 가리키면 다른 타깃을 가리킬 수 없음 동적 메모리상 : NULL 초기화가..