공부/c++
-
CPPCon 2016 The strange details of std::string at Facebook공부/c++ 2017. 3. 28. 09:19
CPPCon 2016 The strange details of std::string at Facebook 동영상 링크 ppt링크뭐가 제일 페이스북에 효율적인지string은 제일 중요한 요소중 하나 cpu전체의 18%가 std안에서 쓰임string을 간단하게 만드는 것 gcc string(v empty string but empty string is no empty malloc을 해서 매 번 overhead를 감수하고 할껀가? gcc는 매번 25byte arry를 가지고 있음 So empty is not emptyQ:왜 empty가 없는건데..
-
C++11 tuple implementation공부/c++ 2015. 12. 30. 11:15
C++11 부터 가변인자 템플릿(variadic template)을 지원하게 되면서 tuple의 구현이 재미있어졌다. 가변인자 템플릿을 지원하기전의 tuple은 최대 10개의 타입을 받는 것 까지 가능했다고 한다. 왜그러냐 하면 아래와 같이 N개 까지의 클래스를 모두 따로 정의해 뒀기 때문이라고 한다... (VC2010기준 아래는 boost의 tuple) C++11 가변인자 템플릿을 이용할 경우 이런식으로 구현 할 수 있다. vs2015에 implemetation된 tuple클래스 인데 그냥 최소한의 소스만 가져왔다. tuple의 각 value는 tuple_val에 저장한다. tuple class같은 생성자에서 상속 받는 방법을 이용하여 recursive specialization을 사용해 모든 인자들에..
-
github에 공개한 Suspended Thread공부/c++ 2015. 6. 6. 21:43
https://github.com/jen6/SuspendThread 사실 별건 아니고 기존 std::thread 같은 경우 쓰레드를 만듬과 동시에 돌아가게 된다.그게 싫을 때도 있으니 일단 만들어 놓고 내가 원할 때 쓰레드가 시작될 수 있도록 해놓았다.(다시 멈추는건 안된다!)사실 이동대입연산자도 만들어야 하고 native handle 반환하는 메서드도 하나 따로 빼야하고 프로젝트 구조도 vs뿐만 아니라linux에서도 사용 할 수 있도록 변경해야 하지만...언젠간 하겠지뭐
-
win api를 이용한 디렉토리 리스팅공부/c++ 2014. 5. 18. 00:51
Colored By Color Scripter™1234567891011121314151617181920212223242526272829#include #include #include #include #include int main(){ WIN32_FIND_DATA FindData; HANDLE hFind; CString path (_T("C:\\*")); _wsetlocale(LC_ALL, _T("korean")); hFind = FindFirstFile(path, &FindData); if (hFind == INVALID_HANDLE_VALUE) return 0; do { _tprintf(_T("%s\n"), FindData.cFileName); } while (FindNextFile(hFind, &F..
-
api handle?공부/c++ 2014. 5. 16. 11:38
설명의 편의를 위해 경어는 생략하겠습니다.) (저도 여기저기서 주워들은 것이라서 틀린점이 있을 수 있습니다. 지적해 주시면 정말 도움이 될 것입니다.) 정확한 통계가 있을리는 만무하지만.. 많은 사람들이 윈도우 개발을 처음 접하면 몇가지 의문점이 (실제로는 산더미같이!!!) 생기게 된다. 제일 먼저 메인함수를 접하게 되는데, 콘솔에서의 메인이라 해봐야 짧으면 "void main()" 뿐이니 몇자 되지도 않고 간단하다. 그런데.. 처음 접하게 되는 윈도우 메인함수는.. int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, ... ) 아닛! 메인부터 벌써 가드가 철저하다! 대체!! APIENTRY는 무엇이며 HINSTANCE는 또 무엇이란 말..