C++ 제어 흐름 (Control Flow)
·
C++/Syntax
제어 흐름 (Control Flow) 중단(Halt) return, exit 점프(Jump) goto, break, continue 조건 분기(Conditional branches) if, switch 반복(Loop) while, do while, for 예외 처리(Exception) try, catch, throw
따라하며 배우는 C++ 5장
·
C++/TBC++
제어 흐름 (Control Flow) switch 반복문 (Loop) 난수 생성 (Random Number Generation) cin 참고 따라하며 배우는 C++
C++ Type Alias
·
C++/Syntax
Type Alias 자료형, 클래스 등을 다른 이름으로도 사용할 수 있게 해준다. typedef typedef vector pairlist_t; using using pairlist_t = vector;
C++ 열거형 (Enumerate Type)
·
C++/Syntax
열거형 (Enumerate Type) unscoped enum C++98 범위에 제한이 없어 모든 namespace에 선언된다. 따라서 이름이 중복되면 안된다. 정수 타입으로 묵시적 형변환된다. enum 변수에 숫자를 넣으려면 캐스팅을 해야 한다. #include enum Color { COLOR_BLACK, COLOR_RED, COLOR_BLUE, COLOR_GREEN }; int main() { using namespace std; int color_id = COLOR_RED; Color my_color1 = static_cast(color_id); Color my_color2 = static_cast(3); if (my_color1 < 2) cout
C++ 입력 버퍼 무시하기
·
C++/Library
입력 버퍼 무시하기 cin.ignore(_Count, _Metadelim) _Count : 무시할 문자의 최대 개수(바이트) 기본 값은 1 정석대로라면 라이브러리의 std::numeric_limits::max()를 사용하는게 맞으나... 귀찮으므로 보통 적당히 큰 수를 채택하는 것 같다. _Metadelim : 이 문자가 나올 때까지 무시한다.(해당 문자 포함) 기본 값은 eof #include int getInt() { while (true) { int x; std::cout > x; if (std::cin.fail()) { std::cin.clear(); std::cin.ignore(std::numeric_limits::max(), &#39;\n&#39;); std::cout op; std::cin...
C++ 형변환 (Type Conversion)
·
C++/Syntax
형변환 (Type Conversion) 변환 방식 C Style (char)65 C++ Style char(65) static_cast(65) Numeric Promotion 크기가 작은 자료형에서 큰 자료형으로 형 변환하는 것 ex) float -> double 절삭(truncation) int i = 30000; // 0b111010100110000 short s = i; // 1바이트만 저장되어 0b00110000, 즉 48 double d = 0.123456789; float f = d; // 정밀도가 부족해서 다른 값이 저장됨 묵시적 형변환(implicit type conversion)에서의 자료형 별 우선 순위 long double (highest) double float unsigned lo..
C++ typeinfo
·
C++/Library
데이터 타입 확인 라이브러리의 typeid().name()을 사용한다. cout
C++ 자료형 추론 (auto, decltype)
·
C++/Syntax
자료형 추론 (auto, decltype) C++11 자료형을 기본 타입 형태로 추론한다. 자료형을 명시하기 복잡하거나 귀찮을 때 사용한다. 가독성이 좋다. 함수의 반환 값에도 적용할 수 있다. Trailing Return Type(후행 반환 형식) auto 키워드로 정의된 함수 반환 값의 자료형을 명시하는 것 함수 앞에 자료형을 쓰는 것보다 가독성이 좋고, 인덴팅을 맞추기도 편하다. auto add(int x, int y) -> int; auto add(double x, double y) -> double; 예제 iterator 대체 개인적으로 이 때 제일 많이 사용하는 것 같다. #include #include int main() { using namespace std; vector vec({ 1, ..
C++ using
·
C++/Syntax
using using std::cout; 이라고 선언해두면 cout만 써도 std::cout을 사용할 수 있다. 편하지만 남발하면 모호성이 생겨서 컴파일이 안될 수 있다. 영역을 최소한으로 잡아서 사용할 것 상속의 접근 권한을 변경할 때도 사용할 수 있다.