표로 만들어 본다. 기호 영문 한글 ! Exclamation Point " Quotation Mark # Crosshatch $ Dollar Sign % Percent Sign @ At Sign & Ampersand ' Aposterophe * Asterisk - Hyphen . Period / Slash \ Back Slash : Colon ; Semicolon ^ Circumflex ` Grave { Left Brace } Right Brace [ Left Braket ] Right Braket | Vertical Bar ~ Tilde 한글을 .. 검색해도 잘 모르겠다. =========================================== 우연찮게 인터넷 검색하다가, 한글 부터 시작해서, 다..
분류 전체보기 검색 결과
{ 왜냐하면 클래스를 어정쩡하게 만들면, 가독성이나 각종 논리적 에러에 혼란이 오기 때문이다. 일반적으로 각 상황에 맞는 클래스 작성법을 설명한다. 값들을 저장하는 클래스 1. 복사 할당자, 복사 생성자가 존재한다. 2. 가상 함수가 없다. 3. 클래스의 객체 자체가 직접 사용 된다. 4. 기본 자료형 처럼 쓰인다. 기반 클래스 1. 공용이면서 가상이거나 보호된 가상이 아닌 소멸자가 있다. 2. 가상 함수가 있다. 3. 인스턴스는 대개 힙이나 스마트 포인터로 만든다. 특성 클래스 1. typedef와 정적 함수만 있으며. 상태 변경이 불가능하다. 2. 함수 오버로딩의 분기 조건에 많이 쓰인다. 정책 클래스 1. 특정한 클래스들에게 어떻게 구현해야 되는지 강제하기 위해서 사용 한다.(복사 할당, 생성이 안..
{ 왜냐하면, 함수의 인자 처리 순서는 각 컴파일러마다 다르며, 컴파일러 버전마다 다를 수도 있다. 결국 함수 인자의 처리 순서를 예상하고 함수에 인자를 전달한다면, 나중에 문제가 생길 위험이 있다. 그러니 이번 항목에서 말하는 제목을 반드시 기억해 두는 것이 좋다. 이 책은 안드레이 안렉산드레스쿠(Andrei Alexandrescu)와 허브 셔터(Herb Sutter) 가 만든 책으로 허브 셔터는 자신의 Exceptional C++ 에서 "스마트 포인터를 잘 사용하는 방법"에 대해서 썻던 항목들에, 이 문제점도 같이 정리해 두었었다. 그러므로 나는 이 항목에 대해서 더 이야기 하지는 않을 것이다. 왜냐하면 아주 간단하게 예만 보여줘도 충분히 이해 가능하기 떄문이다. 이 예제코드는 함수의 인자 처리 순서..
{ 알다시피 저 연산자들은 컴파일러에서 특별히 다루어 지며, 최적화가 이루어져 "단축 평가"가 되는 연산자 들이다. 만약 저 연산자들을 오버로딩 한다면, "단축 평가"는 무너지게 되고, 단축 평가를 예상하고 만들었던 코드를 단축평가가 없는 상태로 다시 만들어야 한다. 이래나 저래나 저 연산자들 까지 오버로딩 한다면, "이거 내가 잘짜고 있는거 맞나?" 라고 생각해 봐야 할 것이다. }
{ 즉, 암시적 타입 변환을 피하기 위해 오버로딩을 쓰라는 것이다, 그 이유는 C++은 동일한 이름의 함수라면 매개변수로 함수들을 구분짖는데, 이런 함수들 중에서 전달된 인자와 타입이 가장 "비슷한" 함수가 있다면, 암시적으로 형이 변하기전에 그 함수가 호출 되고, 없다면 모호성 에러를 벹어내게 해주기 때문이다. 즉, 이런 C++의 특징을 이용하여, 암시적 타입 변환을 피하라는 것이다. 다음 코드는 함수 f() 들 중에 float 매개변수를 받는 함수가 없을 때, 모호성 에러를 벹어내며서 컴파일 되지 않는 것을 보여 준다. 모호성 에러 예) #include void f( char ) { std::cout
{ 항목 27에서 표준적인 형식이 어떤 형식인지 말했으니 패스하고, 표준적인 형식의 ++와 --의 구현론( 한줄로 설명 된다)과 접두 형식을 왜 사용해야 하는지 알아 보자. 우선 알아야 할 것은 "++", "--"의 표준적인 형식이 무엇인가? 인데, 전위 연산자로 후위 연산자를 구현하는것이 표준적인 형식이다. 이 항목에 대해서는 C++ Standard Template Library 에서 이야기한 내용을 쓰기보단, 구글에서~ "전위 연산자" 라고 검색을 하면 자세히 나오니 넘어가자 그렇다면 왜 접두형식을 사용 해야 하는가? 왜냐하면 후위 연산자는 전위연산자를 사용해서 구현했는데, 전위 연산자의 경우, 자기 자신을 변화시키고 자신을 리턴하는 반면, 후위 연산자는 먼저 자신을 복사한 값을 만들고, 전위 연산자..
최근댓글