출처 C++의 POD(Plain Old Data)는 C언어의 데이터와 호환을 가진 데이터 구조이다. memcpy로 데이터를 복사하거나 하지만 그것은 본질적인 것이 아니지만 어쨌든 POD의 가장 큰 의미는 C 언어의 데이터와 bit 수준으로 완전히 호환을 갖는다는 것이다. C++과 C 언어의 프로그램이 있을 경우 교환하는...
더 읽기
몇 년전에 웹에 공개된 글을 번역한 글이다.
더 읽기
출처 C++11 이상 가능. // 템플릿의 default 값에 함수 포인터 타입을 정의 template<typename T, typename Func = T(*)(T, T)> constexpr T calc(T a, T b, Func func){ return func(a, b); } template<typename T> constexpr T plus(T a, T b){ return...
더 읽기
원문 호출 예 hoge.h #pragma once struct Hoge { int _data1; unsigned char _data2[1]; }; main.cc #include "uniqueptr1.h" #include "uniqueptr2.h" #include "uniqueptr3.h" int main() { auto p1 = CreateHoge1(100); auto p2 = CreateHoge2(100); auto p3 = CreateHoge3(100); return 0; }...
더 읽기
최근 C++ 표준 라이브러리와 Boost의 작은 유행으로 태그 디스패치의 태그를 사용자에게 명시적으로 지정하게 함으로써 함수 오버로드를 손쉽게 하는 방법이 몇몇 곳에서 나타나고 있다. // Boost.Container의 vector의 예 // 태그 정의 struct default_init_t {}; constexpr default_init_t default_init {}; // vector 생성자...
더 읽기
출처 라이브러리 출력 이름을 MyLibrary_x86_Debug.lib 라고 하고 싶다. 또 아래처럼 디렉토리 구성으로 하고 싶다. MyLibrary MyLibrary.sln MyLibrary MyLibrary.vcxproj lib MyLibrary_x86_Debug.lib MyLibrary_x64_Debug.lib MyLibrary_x86_Release.lib MyLibrary_x64_Release.lib 으 프로젝트는 라이브러리를 만드는 것이다. 구성 프로퍼티 -> 일반 출력 디렉토리를 바꾼다. $(SolitionDir)..\lib\ 타겟 이름을 바꾼다. $(SolutionName)_$(Platform)_$(Configuration)...
더 읽기
출처 class Employer{ float time_for_game_;//게임 시간 float time_for_anime_;//애니메이션의 시간 float time_for_family_;//가족과의 시간 public: float time_for_work_;//일의 시간 // 인사 template<class Rank> void greet(Rank target){ std;cout<<"hello"<<std::endl; } }; //사장에게만은 인사 말고 휴가를 조르다 template<> void Employer::greet(President target){ std;cout<<"holiday please"<<std::endl; } int main()...
더 읽기
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
출처 커널 파라메터 설명은 아래 링크에서 참고 linux/Documentation/sysctl/ 예를 들어 net 계열의 파라메터 설명을 보고 싶다는 아래에서 확인한다. linux/Documentation/sysctl/net.txt TCP 서버용 tuning 기본 # 항구적 설정 $ vi /etc/sysctl.conf $ sysctl -p kernel # 공유 메모리의 최대 사이즈. 서버 탑재...
더 읽기
출처 #include <iostream> #include <memory> using ub4 = unsigned int; // 외부에 공개해서 이용하는 클래스 class A { public: // 클래스 밖에서 using을 사용하고 싶으므로 public 로 한다. class impl; private: std::unique_ptr<impl> pim; public: A(); ~A(); public: void func_call( ub4...
더 읽기