클래스를 메모리 할당(new 생성)하지 않고 생성한 후 멤버 함수를 호출하면 어떻게 될까? 호출된 멤버 함수가 자신의 멤버 변수를 호출하지 않는다면 무사히 호출된다. 당근 멤버 변수를 호출하면 세그먼트폴이 생긴다. 아래 코드는 gcc 8.0 에서 테스트 되었다. VC에서도 문제 없이 되는 것으로...
더 읽기
온오프믹스를 통해서 참가 신청 받고 있습니다.
신청하기
이 모임에 대한 설명
더 읽기
FAQ :: Are all of the new concurrent collections lock-free? 의 글을 일부 번역/정리. (이 대답은 .NET Framework 4를 기반으로 한다. 아래의 세부 정보는 문서화 되지 않은 구현 세부 사항이므로 향후 릴리스에서 변경 될 수 있다.) 새로운 System.Collections.Concurrent 네임 스페이스의...
더 읽기
첫 번째: 자신이 하고 싶은 것과 문제를 간결하게 설명한다 영어는 짧고 알기 쉽게 간단하게 설명하는 것이 매우 중요하다. 나는 가급적 직접 만든 템플릿에 맞추어 자신의 하려고 하는 것과 발생한 문제를 설명하도록 한다. I tried to $자신의 하고 싶은 일 however...
더 읽기
보통 std::string는 문자열을 확보할 때 동적으로 메모리를 확보하지만 작은 크기의 문자열의 경우는 동적 할당은 성능적으로 낭비이므로 동적 할당을 하지 않는 최적화가 구현 되어 있고 이것을 SSO 라고 한다. 아래처럼 std::string 안에 문자열을 저장할 수 있는 버퍼를 가진다. class string{ char...
더 읽기
Visual Studio의 디버깅 기능을 정리하는 글이다.
앞으로 이 글에 계속 업데이트 한다.
7 More Lesser-known Debugging Tactics for Visual Studio
더 읽기
변수에 const를 사용하는 이유와 사용 방법은 아주 쉽다. 그런데 포인터 타입 변수에 const를 붙였을 때 포인터의 앞이나 뒤 어디에 붙여야 할지 헷갈릴 때가 있다. 포인터에 const를 붙이는 경우 아래에 따라서 차이가 발생한다. *앞에 const를 붙인 경우는 포인터를 가리키는 곳이 불변이...
더 읽기
메모리 복사 속도를 올리기 위해서는 Array.Copy 보다는 Buffer.BlockCopy를 사용하는 것이 좋다. 단 Buffer.BlockCopy는 작은 크기(10~30 바이트 이하)의 복사에서는 Array.Copy 보다 뛰어나다고 할 수 없다. 원래 Buffer.BlockCopy에는 낭비가 있다. Buffer.BlockCopy는 네이티브의 C++ 코드를 호출하고, 타입 체크와 범용적인 타입에 의한 처리가 있다....
더 읽기
온오프믹스에 모임 개설했습니다.
신청 에서 하시면 됩니다.
더 읽기
원문 Herb Suttrer씨는 소프트웨어 개발의 제일인자로 “Exceptional C++” 이나 “C++Coding Standars”라는 책을 집필했다. ISO C++ 표준 위원회 위원장을 15년간 맡음과 더불어 Microsoft에서는 소프트웨어 아키텍트로서 C++/CLI, C++/CX, C++ AMP 같은 기술을 위한 언어 확장 설계를 담당하고 있다. ISO C++ 위원회는 2017년...
더 읽기