이번 장은 주제 부터 말하는게 좋겠다. 내장 형식 중에 하나인 bool이 정말로 필요한지? 아니면 현재 존재하는 언어에서 제공하는 기능을 통하여 표현할 수 있는지? 에 대해서 나열해 놓은 것이다. 문제 wchar_t(C에서 typedef)에서 비롯해서, bool은 단지 ARM(Ellis90 : C++ Reference Manual)에서부터 C++에 추가된 내장 형식이다. bool이 처리할 수 있는 것들은 기존 언어에서 내장 형식의 추가 없이 표현할수 있는가? 만약 할수 있다면 동일하게 동작하는 구현에 대해서 작성해보고, 표현할수 없다면, bool 내장 형식을 왜 표현못하는지 설명을 할수 있는 방법을 나열해 보거라. .... ... .. . 해설 구현 할 수 없다. ture 와 false를 사용하는 boo..
분류 전체보기 검색 결과
표준 C++에 있는 새로운 스타일의 캐스트가 예전 스타일의 캐스트 보다 강력하고 안전하다. 이에 대해서 알마나 잘 알고 있냐? 가 이번 항목의 주제 이다. class A { public: virtual _A(); /* ... */ }; class B : private virtual A { /* ... */ }; class C : public ASSERT() { /* ... */ }; class D : public B, public C { /* ... */ }; int main( void ) { A a1; B b1; C c1; D d1; const A a2; const A& ra1 = a1; const A& ra2 = a2; char C; return 0; } 여기에 네 개의 문제를 찾아보고 해결하자. 문..
MSVC2005 에서 warring 뜨지만 컴파일 되는 것을 확인 하고 코드 제시한다. #include struct Point { int x, y; Point( int tpx, int tpy ) : x(tpx), y(tpy) { } }; class Polygon { public: void AddPoint( const Point pt ) { InvalidateArea(); points_.push_back( pt ); } Point GetPoint ( const int i ) { return points_[i]; } int GetNumPoints( void ) { return points_.size(); } double GetArea( void ) { if( area_ < 0 ) // 아직 계산되지 않았거나..
다음에 나오는 코드들은 무엇이 다를까요?(T는 어떤 클래스 형식을 의미합니다)? T t; T t(); T t(u); T t = u; 5분안에 답하지 못한다면, 모르는 것이므로... 정리를 시작할까 한다. 해당 코드는 T 클래스의 1. 기본 생성자로 인한 초기화(기본 초기화) 2. 인자가 있는 생성자로 인한 초기화(직접 초기화) 3. 복사 생성자로 인한 초기화(복사 초기화) 의 차이를 말하고 있다. 1. T t; 해당 코드는, 기본 생성자로 인한 초기화를 뜻하며, 그 어떠한 생성자가 없거나, T::T() 가 있다면, T::T() 로 초기화를 하는 코드이다. 2. T t(); 나도 이 코드는 T::T() 의 호출이다. 라고 단정 지었다.(이렇게 사용한적이 없어서..) 하지만 이 코드는 .. T 타입을 반환하..
조건 1. 컴파일은 된다. 2. 실행도 된다. 하지만, 브레이크 포인트가 걸리지 않는다. 이럴 경우 크게 두가지 방법으로 해결 된다. 첫번째, 도구 --> 옵션 --> 디버깅 --> 일반 --> 소스 파일이 원래 버전과 정확하게 일치해야 함 체크를 해제한다. 하지만 이 방법은 정말 소스 파일과 일치 하지 않을 때 문제가 발생 할수 있다. 추천하지 않으며, 두번째 방법을 추천한다. 두번째, 파일 --> 저장 고급 옵션 --> 유니코드(서명있는 UTF-8) - 코드 페이지 65001 로 다시 저장한다. 두번째 방법을 추천한다. 이것 때문에 고생한것을 생각하면...ㅠ_ㅠ 추측, .. 컴파일러가 .. 읽지 못하는 텍스트가 있다면, 자동으로 다른 코드 형식으로 저장하는것으로 생각 된다.,
최근댓글