CODEONWORT

C++ 문법 모음 (미완) 본문

Season 1/Misc

C++ 문법 모음 (미완)

codeonwort 2016.10.30 19:31

잘 기억나지 않는 것들 모음. 새로 알 때마다 추가하기



초기화: 어떤 객체에 최초의 값을 부여하는 과정. 사용자 정의 타입인 객체의 초기화는 생성자에 의해 이루어진다.


기본 생성자: 어떤 인자도 주어지지 않은 채 호출될 수 있는 생성자. 원래 매개변수가 없거나 모든 매개변수가 기본 값을 가지면 기본 생성자.


explicit 생성자: 암시적 타입 변환을 금지한다.


복사 생성자: 어떤 객체의 초기화를 위해 같은 타입의 다른 객체를 이용하여 호출되는 함수.


복사 대입 연산자: 어떤 객체에 같은 타입의 다른 객체의 값을 복사하기 위해 호출되는 함수.


class A {

public:

    A();                            // 기본 생성자

    A(const A& other);              // 복사 생성자

    A& operator=(const A& other);   // 복사 대입 연산자

};


A a;                                // 기본 생성자 호출

A a(a2); or A a = a2;               // 복사 생성자 호출

a = a3;                             // 복사 대입 연산자 호출


// test.h

class States {

    static const int play = 1; // 선언

};

// test.cpp

const States::play; // 정의


// enum hack

class States {

    enum { play = 1 };

};


char msg[] = "test";

const char* const p = msg;


const  p가 가리키는 대상이 상수

const  p 자체가 상수


const 키워드가 있고 없고만 다른 멤버 함수 오버로딩 가능


클래스 데이터 멤버들은 선언된 순서대로 초기화된다


복사 생성자, 복사 대입 연산자를 막는 방법: private 멤버로 선언하고 정의는 하지 않는다



0 Comments
댓글쓰기 폼