C++ - NEW 구현
출처 new는 인수로 사이즈를 받지만 표준 new는 size가 0에서도 올바르게 동작하는 것을 규격으로 정하고 있다. 직접 구현 할 때에 의식하면 약간으로 규격에 준한 코드가 되어서 좋다. void* operator new(std::size_t size) { if (size == 0) { size = 1; }...
더 읽기
C++ - Visual C++의 코드 분석을 지지하는 SAL
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
C++ - Argument Dependent Lookup
출처 C++ 언어가 가진 화려한 기구의 하나로 ADL(Argument Dependent Lookup)라는 것이 있다. 번역하면 “실 매개 변수 의존 이름 검색”으로 읽고, 글씨처럼 “실 매개 변수”에 의존하는 “이름 검색”이 된다. ADL의 동작 코드를 보면서 차례로 이해해 보자. int main() { func(); return...
더 읽기
cache coherence
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
C++ - 배열 참조
출처 배열 참조는 배열보다 안전한 속도 면에서 유리하다 !!! int *a[1]; // (1) int (*a)[1]; // (2) int &a[1]; // (3) int (&a)[1]; // (4) 이 4개의 차이점은 ? (1)은 모두 알다시피 int의 포인터의 배열이다. (2) int 배열의 포인터이다. (3)은...
더 읽기
데이터 경합(data race)와 경합상태(race condition)는 다르다
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
C# - ASP.NET Core SignalR 설명과 예제 코드 GitHub 저장소
ASP.NET Core SignalR 에 대한 설명과 예제 코드를 정리한 저장소이다.
study_signalR 저장소가 도움이 되었다면 스타 부탁한다~
더 읽기
C++ - string local buffer
C++ - ref-qualifier 유무로 오버로드 할 수는 없다
출처 C++11에는 implicit object parameter(*this를 참조하는 객체)를 lvalue 참조로 받거나 rvalue 참조로 받는지를 지정하는 기능이 있다. 이를 참고 참고 수식자(ref-qualifier)라고 한다. struct S { // void S::f(void) & void f() & ; // void S::f(void) && void f() && ;...
더 읽기