Game !

C++ (18)

  1. 2018.01.10 [C++] 중첩 클래스 사용 이유

    중첩 클래스는 class 내부에 class를 선언하는 것이다 보통, 외부 class에 내부 class를 선언하는 경우에 / 내부 class를 private 으로 정의한다. 왜냐하면, 특정 클래스 안에서만 사용하는, 또다른 클래스 자료형이 필요할 경우에 이러한 방식을 사용하기 때문이다. https://m.blog.naver.com/PostView.nhn?blogId=kks227&logNo=220179773371&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

  2. 2017.12.28 [C++] variadic template

    variadic template 은... 템플릿의 인자를 가변적으로 받을 수 있도록 구현하는 방식이다 참고)variable argument (다양한 인수의 표현) 이것의 심볼로는 ... 을 사용합니다. variadic template을 함수 템플릿 / 클래스 템플릿 2가지로 나누어서 간략히 설명합니다. 12345678910111213 template // template parameter packvoid Function( const Arg1& arg1, const Args&... args ) // function parameter pack{ Test( arg1 ); Function( args... );} void main(){ Function( 1, "ezreal very handsome", 1.5f )..

  3. 2017.12.27 [C++] 템플릿 이것저것(정리중...)

    템플릿 메타 프로그래밍 일반 함수를 써서 재귀호출을 해야하는 문제를, 템플릿 클래스를 이용하면 똑같이 구현할 수 있다. ▶ 템플릿의 원래 기능이 아니라, 템플릿을 이용해서 문제를 푸는 방법 cf. 재귀 호출 방식으로 템플릿을 계속 생성하는 것은, 잘 알려진 대표 템플릿 메타 프로그래밍의 예 템플릿 메서드 패턴 부모 클래스에서 virtual이 아닌 함수 내부에서, 자식의 virtual 함수를 호출한다 자식의 virtual 함수를 호출 : 객체 생성 타입에 따라 적절한 오버라이딩 호출 템플릿 트릭 템플릿 트릭 중 하나가 템플릿 메소드 패턴을 사용하면 virtual 함수를 런타임 때 테이블로 접근해서 호출하는데 이러한 테이블을 접근하는 시간을 단축하기 위해 해결하는 static polymorphism 방법임 ..

  4. 2015.09.17 [C++] 메세지 패싱

    메세지 패싱이란 무엇인가 메세지 전달 (message passing) 객체지향 관점에서, 프로그램은 오브젝트에 message를 보내는 것으로 실행 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include void main() { Dog* dog1; dog1 = new Poodle; dog1.shouting(); //멍멍 Dog* dog2; dog2 = new Bulldog; dog2.shouting(); //왈왈 } cs dog1.shouting(); = 객체 dog1 에 shouting 이라는 메세지를 보낸다 실제로는 객체 dog1 의 shouting() 함수 호출 그러니까 dog1 = new Poodle; 이거는 실체를 만드는 것 dog1.shouting(); 이거는 sh..

  5. 2015.09.02 [C++] 싱글톤에 대한 정리

    싱글톤 사용 방법과 싱글톤에 대한 정리 // 싱글톤 사용 방법 class A{private:static A* a;public:static A* Get_Instance(){if(a == NULL)a = new A; //A(); return a;} void func();} ///////////////////////////////////// //클래스 외부 void B::Func(){A* _a = A::Get_Instance(); //원본을 받아옴 _a->func();} 싱글톤은 언제 사용하는가?? 프로그램이 끝나기 전까지 계속 남아있어야할 때 (static) ex) Manager , scene... 장점 : 어디서든 원본을 불러낼 수 있다 만약 상속받는 여러개의 scene에 싱글톤을 사용하면전역변수로 계속 ..

  6. 2015.08.25 [C++] 함수로 주소값 전달하는 방법

    일반적으로 get 함수를 통해 다른 객체 안에 있는 변수의 주소값을 전달해야하는 일이가끔 발생하는데 그때 주소값을 반환하고싶을때에는 반환형* 함수이름(){return &변수명} 이렇게 해주면 됩니다. &변수명을 통해 변수의 주소값이 리턴되고이 주소값은 포인터이므로 반환형이 포인터형인 것으로 이해할 수 있습니다

  7. 2015.04.24 [C++] 강제 형변환 & 자동 형변환

    강제 형변환과 자동 형변환에 대해 이해해보자! 강제 형변환 강제 형변환이란 ? 명시적으로 자료형을 직접 변경해주는 것을 의미합니다. 변수 앞에 소괄호를 통해서 변경할 수 있습니다. 간단한 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include #include using namespace std; void main() { int a = 5; double c = 4.3; double result; result = c * a; cout

  8. 2015.04.15 [C++] 파일입출력) EOF에 대한 이해

    파일입출력을 사용할때 eof에 대해 이해해보자 eof 는 f stream 객체가 EOF를 만나면 상수 -1 로서, 참값을 반환한다. (조건식에서 0은 거짓, 나머지는 참) eof 는 파일의 끝에 도달하면 반환(-1)을 한다 == 파일의 끝에 도달하면 eof 가 반환이 된다 파일입출력에 대한 예제코드를 보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include /**/ #include using namespace std; ofstream fout; //화면에서 파일로 ifstream fin; //파일에서 화면으로 v..

1 2