공부/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을 사용해 모든 인자들에..