C++ 썸네일형 리스트형 C++11 람다 함수 (Lambda Function) 람다함수를 대략적으로는 알고있었지만 쓰질않아서 정확히는 몰랐다. 최근 읽은 책에서 자세히 설명이 되어있어서 읽은김에 정리를 좀 해봐야겠다. 이러니 저러니 설명보다 일단 예제코드다. #include #include #include int main() { // 준비사항 std::vector vecNumber{1, 2, 3, 4, 5}; // 숫자 3을 살펴보자. auto nThrees_Count = std::count(vecNumber.begin(), vecNumber.end(), 3); std::cout 더보기 C++11 stl에 추가된 emplace(insert), emplace_back(push_back) (퍼온자료입니다. 출처 : http://egloos.zum.com/sweeper/v/3060229) 0. Variadic template C++11의 emplace 함수에 생긴 큰 변화는 variadic template으로 인해 가능해졌다고 할 수 있다. Variaidic template 페이지를 충분히 숙지한 이후 아래 내용을 읽어 나가면 훨씬 이해가 쉬울 것이다. 1. C++0x의 emplace 함수 VS2010까지의 emplace 함수들은 단순히 rvalue-reference를 인자로 받아 기존의 추가 함수를 호출하는 형식이었다, // VS2010의 vector::emplace_back void emplace_back(_Ty&& _Val) { // insert element at end push_b.. 더보기 C++11 가변인자 템플릿 (Variadic template) 나는 생산성을 높여주는 템플릿을 좋아하는편이다. 그중 최신에 알게된 가변인자 템플릿을 무척 편리하게 써먹은 적이 있다. 가변인자 템플릿(Variadic template)은 printf에 사용해 왔던 가변 인자 함수(Variadic function)와 조금 닮은면이 있다. (va_list) 가변인자템플릿의 template... 을 파라미터팩(parameta pack) 이라고 불린다. 예제코드 #include "stdio.h" #include "tchar.h" typedef unsigned char BYTE; class cPacket { public: enum { BUFF_MAX = 1024 }; // 기본 생성자 cPacket() : m_pCur(m_byBuff) , m_pEnd(m_byBuff + BUF.. 더보기 C++11 enum class 언리얼 코딩표준을 보다가 enum class를 알게 되었다. 무엇이 다른걸까? C++11 부터 추가되었다고 들은 enum class enum class eUserType : unsigned char { NONE = 0, // 비엇음 FIRST, // 첫번째 엘리먼트 SECOND, MAX }; 기존의 enum과 조금 다르다. 1. 자료의 기본형(사이즈)가 추가되었다. (마치 클래스 상속처럼 선언) 2. enum 사용시 class 이름을 namespace처럼 넣어주어야 한다. 3. namespace에 넣은것처럼 enum의 정의한 내용이 다른 enum과 중복되어도 상관없다. 4. 암시적 변환 ( to int )이 이루어지지 않는다. 일일이 static cast를 해주어야한다... (이건좀 귀찮네) 5. 클래스.. 더보기 유니코드 문자열 처리 TCHAR를 쓰면 tcs~() 함수들을 프로젝트속성에 따라 컴파일러가 멀티바이트와 유니코드 알아서 바꿔준다. 어떤함수들이 있는지, 사용법과 함께 정리해보자. 1. Formatted I/O MACRO ANSI UNICODE 설명/예제 _tprintf printf wprintf 콘솔창에서 출력하기위해 쓴다. _tprintf( _T("format %s %d"), (TCHAR*)szTemp, (int)nIdx); _ftprintf fprintf fwprintf 파일에 출력하는 용도. 파일 핸들이 필요하다. _ftprintf( (FILE*) _tfopen(_T("filename"), _T("w")), _T("format %s"), szTemp); _stprintf sprint swprintf 버퍼에 포맷을 넣는용.. 더보기 printf문의 서식지정자 printf 문의 서식지정자 입력 설명 %d, %i signed 정수 %u unsigned 정수 %I64d, %lld 64비트 signed 정수 (%I64d의 I 는 대문자 i 이다.) %I64u, %llu 64비트 unsigned 정수 %c char 문자 %s char[] 문자열 %f float 실수형 %e, %E 소수점 지수표현 %x, %X 16진수(대소문자) %o 8진수 %p 포인터 주소값출력 %[플래그][폭][.정밀도][길이]서식지정자 입력 출력 설명 printf("%6d\n", 20); 20 %d의 출력 폭을 6칸으로 지정 printf("%6d\n", 2000); 2000 %d의 출력 폭을 6칸으로 지정 printf("%06d\n", 20); 000020 출력 폭을 6칸으로 지정, 나머지 0채움.. 더보기 이전 1 다음