{ 동적인 다형성 : Polymorphism 은 무엇인가? 클래스의 상속을 통해서 하나의 타입에 서로 다른 타입을 넣어 서로 다른 타입처럼 인식되는 것을 뜻한다. 정적인 다형성 : Polymorphism 은 무엇인가? 정적인 다형성은 타입의 이름은 같지만 옵션( 같은것)을 주어 같은 이름이지만 옵션에 따라 다른 타입으로 인식되는 것을 뜻한다. 두개 다 다형성인데 무엇이 다른가? 동적 다형성은 런타임에 인식되는 것이고, 정적 다형성은 컴파일 타임에 이루어 지는 것이다. 그러므로 용도가 다르다. 동적 다형성의 용도는 무엇인가? 런타임에 행동을 바꿀 수 있다. 대신 정적 다형성 보다 느리다. 정적 다형성의 용도는 무엇인가? 컴파일 타임에 흐름을 같으나 행동이 행동을 바꿀 수 있다. 대신 동적 다형성 보..
C++ Coding Standards 검색 결과
{ 인터페이스는 무엇인가? 환경이란 뜻인데, 컴퓨터 세계에서의 인터페이스는 "무엇을 사용하기 위해서 필요한 조건"이다. 그렇다면 모듈의 인터페이스란 무엇인가? 모듈을 사용하기 위한 필요한 조건이란 말이다. 여기서 말하는 모듈이란 플랫폼(컴파일러, 운영체제, 특정 하드웨어 등등)에서 사용 되는 라이브러리이다. 이러한 모듈의 인터페이스 내에 충분한 이식성을 갖춘 타입 : TYPE 을 왜 사용 해야 하는가? 라이브러리니까 ㅋ, 충분한 이식성을 갖춘 타입은 무엇이 있는가? C++ 에선 표준 타입들이 있겠다. 하지만 간혹 함수 호출 규약이나 표준 타입의 크기등 메모리 사용량이나, 메모리 사용방법에 대해서 다른 경우 안되는 경우가 있다. 이럴 때는 해당 플랫폼에서 재컴파일만 하면 된다. }
{ 책에선 이런 말을 했다. "이웃집 정원에 돌은 던져서는 안 된다".. ㅋ 그렇다면 돌에 비유되는 예외 : exception 는 무엇인가? 예외는 오류 객체이다. 여기서 말하는 모듈이란 무엇인가? 다른 컴파일러, 다른 운영체제에서 컴파일된 실행파일, DLL, so, a 등을 뜻한다. 이 모듈의 경계를 넘어서 예외가 절달되는 것을 왜 막아야 하는가? C++ 에선 예외 전달 방식의 표준을 정해 놓지 않았다. 그래서 컴파일러 마다 운영체제 마다 예외 전달 방식이 다르다. 그래서 서로 다른 모듈간에 예외를 교류시키는 코드가 들어갈 경우, 예견되지 못한 상태에 빠질 수 있다. 책에선 예외를 잡기 위해서 catch(...) 블록을 쳐야 하는 최소한의 부위를 알려 주지만, 모듈간의 예외를 교류를 사용 하지 않거나,..
{ 우선 제목 부터 이해해야 될 것 같다. 엔티티:entity는 무엇을 말하는가? 사전에선 실재, 존재 라고 되어 있는데, C++에선 변수나 함수등을 말한다. 서로 연결된 엔티티:entity는 무엇을 말하는가? 위에선 변수나 함수들은 엔티티:entity 라고 했는데, 이해를 돕기 위해서 함수가 아닌 변수만 이야기 한다. 즉, 서로 연결되어 정의된 변수를 뜻한다. 헤더파일에 이런 연결된 엔티티:entity를 정의 하면 안되는가? 되긴 되나 위험하기 때문에 안된다. 되는 경우는 언제인고, 위험한 경우는 언제인가? 헤더 파일을 1번만 사용 할 경우, 된다. 하지만 .. 1번만 사용할 헤더는 예제코드 짤 정도밖에 쓰지 않기 때문에, 생각 안하는게 좋을 것 같다. 위험한 경우는, 여러 곳에서 헤더파일이 쓰일 경우..
{ 왜? 보는 사람이나 개발하는 사람이나 메모리 누수인가? 아닌가? 에 대해서 고민하게 만들기 때문이다. 어디서 할당하고 어디서 해지 해야 하는가? 하나의 모듈에서 할당해서 해지 해야 한다. 작게 말하면, 하나의 클래스 내부에서 생성된 메모리는 클래스 내부에서 해제 한다는 뜻으로 해석해도 무난 하다. 부득이 하게, 다른 모듈과 연관된 경우에는 어떻게 하는가? 이럴 때를 위해서 우리의 부스트께선 스마트 포인터(Smart Pointer)를 만들어 두었으니, 이것을 이용 하면 된다. 스마트 포인터의 사용법을 알려 줄 수 있는가? 부스트의 스마트 포인터는 여러개가 있지만 shared_ptr 를 많이 사용 한다. 검색의 왕인 구글에게 물어 보면 잘 알려 주므로 생략 하겠다. }
{ 왜냐하면 의도하지 않은 이름 검색으로 혼란을 격게 되기 때문이다. 항목 57에서 이야기 했던 것의 반대 이야기이니, 크게 더 설명할 것이 없다. 이름 검색을 알게 되면, 함수의 호출이 머리속에 그려지기 때문에, 이상한 함수 호출이나 이상한 에러메세지는 "이름 검색이 꼬였나?" 를 생각해 보면 된다. }
최근댓글