본문 바로가기

Dev Language26

C++ 11 : auto_ptr auto_ptr은 객체의 소유권을 강조하는 스마트 포인터이나, 결론부터 말하자면 auto_ptr보다는 auto_ptr과는 유사하지만 auto_ptr의 결함을 해결하는 unique_ptr을 사용하는 것이 좋다 ( C++ 11 표준에서는 auto_ptr을 포함하지 않는다. 즉, 사용을 권고하지 않는다) 2020. 8. 8.
C++ 11 : unique_ptr #include #include #include struct BodyMass { int ID; float Weight; BodyMass(int id, float weight) : ID(id), Weight(weight) { std::cout 2020. 8. 8.
C++ 11 : shared_ptr // ConsoleApplication1.cpp : 이 파일에는 'main' 함수가 포함됩니다. 거기서 프로그램 실행이 시작되고 종료됩니다. // #include "pch.h" #include #include #include #include auto main() -> int { using namespace std; auto sp1 = shared_ptr{}; // shared_ptr 생성은 하였으나 아직까지는 가리키는 객체가 없음.(nullptr)현재 use_count = 0 if( sp1) cout 2020. 8. 8.
Thread 생성 시 지역변수 유효 시점 함수 내에 선언된 지역 변수는 함수가 종료되는 시점에 스택에서 제거된다. ( 이것은 기본 내용 )그래서 아래와 같이 사용하면 안됨. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869typedef struct tag_PIPE_INFO{ WCHAR wcPipeName[256]; }PIPE_INFO; BOOL CPipeServer::StartPipeServer(WCHAR *wcpPipeName ){ DWORD dwThreadID = 0; PIPE_INFO Pipe_Info = { 0, }; StringCchCopy(Pipe_Inf.. 2018. 4. 11.
C++로 DLL 만들기 출처 http://blog.secmem.org/597 2017. 3. 8.
정적 결합과 동적 결합 & 가상함수 정적 결합과 동적 결합 소스 코드에 있는 함수 호출을 특정 블록에 있는 함수 코드를 실행하라는 뜻으로 해석하는 것을 “함수 이름을 결합한다.”라고 말한다. C언어에서는 각각의 함수가 별개의 함수에 해당하기 때문에 이 작업이 간단했지만, C++에서는 함수 오버로딩 때문에 이 작업이 조금 복잡하다. 어떤 함수를 사용하라는지 알아내기 위해, 컴파일러는 함수 이름뿐만 아니라 함수의 매개변수도 수행할 수 있다. 컴파일 하는 동안에 일어나는 결합을 정적 결합(static binding) 또는 초기 결합이라 한다. 하지만 프로그램을 실행할 때 사용자가 객체를 결정하는 경우, 컴파일 하는 동안에 그 객체가 어떤 종류인지 알 수 없는 경우에는 어떤 함수를 사용할 것인지 컴파일 시에 알 수 없다. 따라서 프로그램을 실행할.. 2016. 12. 23.