C++11 - 문자열 리터럴과 wide 문자열 리터럴 결합

C99 호환을 위해서 만들어진 기능으로 문자열 리터럴과 wide 문자열 리터럴을 결합하면 wide 문자열로 결합한다. 문자열 리터럴인란 멀티바이트 문자열을 뜻하고, wide 문자열 리터럴은 유니코드 문자열을 뜻한다. C++11 이전에는 문자열 리터럴과 wide 문자열 리터럴 결합에 대해서 미정의 동작이었다. 예제 #include <iostream> int...
더 읽기

.NET Core 2.0 봄에 출시 예정

원문 2017년 봄에 출시 예정. .NET Core 플랫폼에 있어서 큰 변화가 있는 버전이다. 버전 2이 되는 것으로 .NET Core 능력을 크게 확대하기 때문이다. .NET Standard의 버전이 2.0 이된다. .NET Standard 2.0 에서는 2배 가까운 API를 이용 할 수 잇다. 표준을...
더 읽기

C++11 - 최근접 짝수 반올림 std::nearbyint

개요 실수를 정수로 변환할 때 ceil()로 소수점 올림하거나, floor()로 소수점 버림을 한다. nearbyint는 정수로 변환할 실수의 가장 가까운 짝수로 올림 혹은 버림을 한다. 이러한 방식을 “bankers’rounding” 이라고 부른다 문법 cmath 헤더파일을 포함해야 한다. 사용 예 #include <iostream> #include <cmath> int...
더 읽기

C++11 - 생성자 상속(inheriting constructors)

개요 부모 클래스에서 정의한 생성자들을 자식 클래스에서 그대로 사용할 수 있는 편의 기능이다. 문법 자식 클래스에서 using 키워드를 사용하여 부모 클래스 이름과 부모 클래스의 생성자 이름을 :: 구분으로 호출한다. 자식 클래스는 복수의 부모 클래스를 상속한 경우에도 각 부모 클래스의 생성자를...
더 읽기

C++11 - 인라인 이름 공간(inline namespace)

개요 이름 공간 내에 있는 기능을 투과해서 접근할 수 있는 기능이다. 즉 이름 공간(my_namespace) 안에 또 다른 이름 공간(features)을 inline로 선언하고 있으면 features에 정의된 기능을 my_namespace를 통해서 접근 할 수 있다. #include <iostream> namespace my_namespace { inline namespace features {...
더 읽기

C++11 - long long 타입

개요 C99 호환을 위해 long long 정수 타입이 추가 되었다. long long 과 unsigned long long 타입은 64비트 이상의 값을 표현할 수 있는 것을 보증한다. long long 타입의 최대 값 매크로는 LLONG_MAX 이다. long long을 뜻하는 정수 리터럴에는 ll 또는...
더 읽기

C++11 - _Pragma 전처리 연산자

개요 C99 에서 도입된 전처리 연산자 이다. _Pragma 연산자는 매크로에서 처리 계 정의 기능을 사용하기위한 기능이다. 처리 계 정의 기능을 사용하기 위해 기존에는 #pragma 지시자를 사용하여 왔지만 이 기능은 매크로 내에서는 사용할 수 없다. #pragma 지시자를 매크로 내에서 사용할 수...
더 읽기

클래스 멤버 함수 포인터 배열 사용하기

함수 포인터 관련 검색을 하면 C 버전이 많이 나오고, 배열 타입을 사용하는 경우는 별로 없어서 공유한다. (사실 최신 C++에서는 std::function을 사용하면 되기 때문에 이걸 사용하지 않아도 된다) 선언 bool(TEST::*m_pFunc[4])(const int, bool); 멤버 함수 연결 TEST() { m_pFunc[0] = &TEST::func1; m_pFunc[1]...
더 읽기

이 블로그의 rss 피드 주소

나처럼 Feedly 서비스를 사용 중이라면 피드 추가에 이 블로그 url을 입력하면 된다. 이 블로그 주소로 rss 리더에 등록 되지 않는다면 아래의 주소를 사용해 보기 바란다. https://jacking75.github.io/feed.xml
더 읽기