C++
-
c++ 튜플 순회하기 예제프로그래밍/코드 조각 2017. 12. 1. 19:15
#include #include #include template void tuple_for_each_impl(const T& t, Func f, std::index_sequence){ (f(std::get(t)), ...);} template void tuple_for_each(std::tuple& t, Func f){ tuple_for_each_impl(t, f, std::index_sequence_for{});} int main(){ auto t = std::make_tuple(1, "name", 3.2f); tuple_for_each(t, [](auto v)..
-
구글 플랫버퍼(flatbuffers) 맛보기 in c++프로그래밍/c++ 2017. 11. 30. 12:43
플랫버퍼란?구글의 크로스 플랫폼 직렬화 라이브러리이다. 빠르고 사용하기 편리하다.c, c++, c#, go, java, js, php, python 언어를 지원한다. 간단한 사용법 스키마 파일을 작성한다. 스키마 파일을 컴파일한다. 컴파일하면 각 언어에서 사용될 파일들이 생성된다. FlatBufferBuilder를 이용해 플랫한 바이너리 버퍼를 생성한다. 컴파일된 파일들을 포함하면 손쉽게 바이너리 버퍼를 만들 수 있다. 바이너리 버퍼를 저장하거나, 보내거나 한다. 시작하기 https://github.com/google/flatbuffers/releases 에서 최신 릴리즈를 받는다.(2017-11-30 기준, 1.8.0) flatc_windows_exe, Source Code 모두 받고 압축을 풀어둔다...
-
c++로 텍스트 파일 쓸 때 참고프로그래밍/c++ 2017. 6. 15. 01:46
utf8 파일을 읽고 utf16으로 변환하는 예제std::codecvt http://en.cppreference.com/w/cpp/locale/codecvtcodecvt_utf8, codecvt_utf16, codecvt_utf8_utf16 전부 c++ 17부터 deprecated 되었다네?ㅋㅋ 꼬시다 이렇게 하면 윈도우에서 c++ wofstream과 wide character를 써서 Unicode LE 로 저장할 수 있다.(단, bom이 없음) using namespace std; wofstream ofs("Hello.txt", std::ios::binary); ofs.imbue(std::locale(ofs.getloc(), new std::codecvt_utf16)); ofs The basic alg..