C++ Boolean
·
C++/Syntax
Boolean true, false 출력 bool b{true}; std::cout
C++ 소수점 (Decimal Point)
·
C++/Syntax
소수점 (Decimal Point) 고정 소수점 (정수) 부호화 절대치 맨 왼쪽 비트가 부호를 결정하고, 나머지 비트는 일반 양수를 다루듯 계산한다. 000 -> +0 001 -> +1 010 -> +2 011 -> +3 100 -> -0 101 -> -1 110 -> -2 111 -> -3 안쓰는 이유 순환성이 떨어진다.(+3 다음이 -0) 보수를 사용하면 감산기 없이 가산기만으로 뺄셈이 가능하다. 1의 보수 비트를 반전시켜 순환성을 가지도록 했다.(+3 다음이 -3) 덧셈기로 뺄셈이 가능하다. 000 -> +0 001 -> +1 010 -> +2 011 -> +3 100 -> -3 101 -> -2 110 -> -1 111 -> -0 2의 보수 1의 보수를 취하고 1을 더하는 형태이다. -0을 없애고..
C++ 자료형 (Data Type)
·
C++/Syntax
자료형 (Data Type) 라이브러리 자료형의 최대, 최소 확인 std::cout
따라하며 배우는 C++ 2장
·
C++/TBC++
변수 선언 시점 예전 c컴파일러의 경우 모든 변수 선언은 코드의 맨 위에 있었어야 했다. 메모리를 미리 다 잡아놓고 사용하는 방식이다. 요즘은 변수 사용 직전에 선언하는걸 선호한다고 한다. 디버깅, 리팩토링에 용이하다. 자료형 (Data Type) 소수점 (Decimal Point) Boolean 형변환 (Type Conversion) 출력 버퍼 비우기 (fflush) 상수 (Contant) 참고 따라하며 배우는 C++
C++ 전처리기 (Preprocessor)
·
C++/Syntax
전처리기 (Preprocessor) 기능 파일 포함시키기 #include 특정 파일을 현재 위치에 첨부하여 하나의 파일처럼 컴파일한다. 조건부 컴파일 #if, #elif, #else, #ifdef, #ifndef, #endif 등 조건에 해당되는 코드만 실행한다. defined 키워드와 같이 사용하여 복합적으로 정의할 수 있다. OS에 따라 다른 파일을 포함시키는 예제 #ifdef __unix__ /* __unix__ is usually defined by compilers targeting Unix systems */ # include #elif defined _WIN32 /* _Win32 is usually defined by compilers targeting 32 or 64 bit Windows ..
C++ Namespace
·
C++/Syntax
namespace 함수, 객체 등의 이름 충돌 방지 namespace 내부에 또 다른 namespace를 넣을 수 있다.
C++ 헤더가드 (Header Guard)
·
C++/Syntax
헤더 가드 (Header Guard) #include guard internal include guard : 헤더파일 내부에서 매크로를 검사하는 것 header.h #ifndef HEADER_H # define HEADER_H ... #endif external include guard : 헤더파일을 외부에서 include할 때 매크로를 검사하는 것 main.cpp #ifndef HEADER_H #include "header.h" #endif 장점 컴파일러에 의존하지 않는다. 단점 한 번 읽은 헤더 파일도 내용을 읽어야 해서 컴파일 속도가 느릴 수 있다. 귀찮지만 external include guard를 적용하면 해결 가능하다. 매크로 이름이 충돌할 가능성 존재한다. 대규모 프로젝트에선 명명 규칙을 정..
C++ 초기화 (Initialization)
·
C++/Syntax
초기화 (Initialization) C에서는 솔직히 별로 의미가 없었다고 생각하는데, C++에서는 생성자의 개념 때문에 중요한 것 같다. 메모리를 할당함과 동시에 값을 부여한다. 할당 생성자에서 값을 대입하는 방식이다. int num; num = 42; 초기화 초기화 리스트로 지정 Copy Initialization 등호를 통해 초기화하는 방식이다. int width = 5; Direct Initialization 소괄호로 값을 감싸서 초기화하는 방식이다. int width(5); Uniform Initialization List Initialization, Brace Initialization C++11 위의 두 가지(Copy Initialization, Direct Initialization)보다 ..
따라하며 배우는 C++ 1장
·
C++/TBC++
언어 컴파일러 언어 코드를 컴파일하여 실행파일을 생성하고 실행시킨다. 인터프리터 언어 실행파일 없이 바로 실행시킨다. 상대적으로 느리다. 실행파일을 만들고 반복해서 사용하는게 더 빠르다. 주석 당연한건 적지 말자 초기화 (Initialization) 헤더 가드 (Header Guard) namespace 전처리기 (PreProcessor) 참고 따라하며 배우는 C++