C++ - C++11에서 추가된 사이즈 엄밀한 정수 타입

출처 C++11에서 새로 추가됨 int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, uint32_t, uint64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, intmax_t, uintmax_t, intptr_t, uintptr_t 아래 헤더 파일을 추가해야 한다 #include <cstdint> std::int8_t...
더 읽기

C++ - __if_exists

출처 Visual C++ 전용 키워드 이다. __if_exists ( identifier ) { statements }; identifier에 전달한 식별자가 존재한다면 statements가 실행된다. 부정형으로 __if_not_exists가 있다. 컴파일 타임 때 실행. template<typename T> class X : public T { public: void Dump() { __if_exists(T::Dump) {...
더 읽기

C++ - 추상 기저 클래스

아래 코드처럼 virtual 이 붙은 가상 기반 클래스는 “모호성” 을 피하기 위함이다. class B : virtual public A{} class C : virtual public A{} class D : public B, public C{} 가상 기반 클래스가 아니라면 D 클래스가 생성시에 A 를...
더 읽기