시작은 미미하나 끝은 쥬쥬하리라.

const 3

[열혈 C++ 프로그래밍] (6) friend, static, const

friend, static, const const 클래스와 함수 friend 선언 static const 객체의 const 선언 : 객체 안에 존재하는 데이터의 변경을 허용하지 않겠다는 의미 -> const로 선언된 객체를 대상으로 const 선언되지 않은 멤버 함수를 호출하면 컴파일 에러 발생 const 함수의 오버로딩 : const 선언의 유무도 오버로딩의 조건으로 사용 가능 simple(); simple() const; -> 두 함수는 오버로딩 관계에 있음 -> const 객체를 인자로 함수를 호출하면 simple() const가, 일반 객체를 대상으로 호출하면 simple() 클래스와 함수 friend 선언 friend 선언이 된 대상은 클래스의 private 멤버에 직접 접근이 가능 friend..

[열혈 C++ 프로그래밍] (2) C언어 기반 C++ 2

C언어 기반 C++ 2 C언어 기반 C++ bool 자료형 참조자의 이해 참조자와 함수 malloc & free를 대신하는 new C언어 기반 C++ const 변수, 객체의 상수화 키워드 const int* ptr1 = &val -> ptr1을 이용하여 val1의 값을 변경 할 수 없음 - const 변수는 반드시 선언과 동시에 초기화 -> 멤버 변수를 const로 선언하는 경우에는 반드시 초기화 리스트(initialize list) 사용 -> Bar의 num은 초기화가 아닌 const int num; 을 선언 한 이후 num = 1;을 시도하는 것 - const 포인터 -> const가 맨 앞에 있으면서 포인터 변수가 가리키 는 값을 상수화를 하는 경우에는 *ptr 상수화 -> const 위치가 자료..

[effective C++] Chapter 01 : 03. 낌새만 보이면 const를 들이대 보자 !

03. 낌새만 보이면 const를 들이대 보자 ! const 키워드의 사용 상수 멤버 함수 상수 멤버(const 멤버)의 양대 개념 상수 멤버/비상수 멤버 함수에서 코드 중복 피하기 이것만은 잊지 말자 ! const 키워드의 사용 const const 키워드가 붙은 객체는 외부 변경을 불가능하게 만드는 의미적인 제약이 붙게 되고 컴파일러는 이 제약은 단단히 지켜준다. 클래스 외부 - 전역 혹은 네임스페이스 유효범위의 상수를 선언 및 정의하는데 사용 - 파일, 함수, 블록 유효범위에서 static으로 선언한 객체에 const 사용 가능 클래스 내부 - 정적 멤버 및 비정적 데이터 멤버 모두 상수로 선언 가능 - 포인터 및 포인터가 가리키는 대상 모두 상수로 지정할 수도 있고 지정하지 않는 것도 가능(기본적..

Study/Effective C++ 2023.07.23