CONST const 키워드는 변수의 값을 상수로 선언할 수 있도록 해준다. const 키워드를 사용하면 값을 변경할 수 없다. const 키워드를 사용하면 변수를 선언하게 되면 고정 기억 장치(read only memory)에 올라가게 된다. 포인터와 const 상수를 가리키는 포인터가 가리키는 공간은 수정할 수 없는(const) 공간이지만 상수 변수의 주소를 가리키는 포인터는 수정할 수 있는(non-const)포인터이다. int value = 10, value2 = 4; const int * ptr = &value; value = 10; // ok *ptr = 10 // not ok printf("%d %d\n", value, *ptr); // 10 10 value = 7; ptr = &value2;..
정보은닉과 캡슐화정보은닉정보은닉은 멤버변수를 private로 선언하고, 해당 변수에 접근하는 함수를 별도로 정의해서, 안전한 형태로 멤버변수의 접근을 유도하는 것이다. 간단한 예제를 봐 보자. 헤더 파일123456789101112131415161718#ifndef __POINT_H_#define __POINT_H_ class Point{private: int x; int y; public: bool InitMembers(int xpos, int ypos); int GetX() const; int GetY() const; bool SetX(int xpos); bool SetY(int ypos);}; #endifColored by Color Scriptercs 소스 파일123456789101112131415..
Inline 함수lnline함수를 의역해보면 프로그램 코드라인 안으로 들어가 버린 함수라는 뜻이 된다. 여기서 잠시 Inline함수에 대해 알아보기 전에 매크로 함수에 대해 알아보겠다. 매크로 함수의 장점매크로 함수의 대표적인 장점으로는 일반적인 함수에 비해서 실행속도의 이점이 있다는 점이다. 뿐만 아니라 매크로 함수는 성능향상에 많은 도움이 된다. 반면, 매크로 함수의 단점은 복잡한 함수를 매크로의 형태로 정의하는데 한계가 있다는 점이다. 매크로 함수를 예제 삼아 정의해 보면 다음과 같다. 1234567#include #define SQUARE(x) ((x)*(x)) int main(void) { std::cout