출처 new는 인수로 사이즈를 받지만 표준 new는 size가 0에서도 올바르게 동작하는 것을 규격으로 정하고 있다. 직접 구현 할 때에 의식하면 약간으로 규격에 준한 코드가 되어서 좋다. void* operator new(std::size_t size) { if (size == 0) { size = 1; }...
더 읽기
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
출처 C++ 언어가 가진 화려한 기구의 하나로 ADL(Argument Dependent Lookup)라는 것이 있다. 번역하면 “실 매개 변수 의존 이름 검색”으로 읽고, 글씨처럼 “실 매개 변수”에 의존하는 “이름 검색”이 된다. ADL의 동작 코드를 보면서 차례로 이해해 보자. int main() { func(); return...
더 읽기
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
출처 배열 참조는 배열보다 안전한 속도 면에서 유리하다 !!! int *a[1]; // (1) int (*a)[1]; // (2) int &a[1]; // (3) int (&a)[1]; // (4) 이 4개의 차이점은 ? (1)은 모두 알다시피 int의 포인터의 배열이다. (2) int 배열의 포인터이다. (3)은...
더 읽기
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
ASP.NET Core SignalR 에 대한 설명과 예제 코드를 정리한 저장소이다.
study_signalR 저장소가 도움이 되었다면 스타 부탁한다~
더 읽기
더 읽기
출처 C++11에는 implicit object parameter(*this를 참조하는 객체)를 lvalue 참조로 받거나 rvalue 참조로 받는지를 지정하는 기능이 있다. 이를 참고 참고 수식자(ref-qualifier)라고 한다. struct S { // void S::f(void) & void f() & ; // void S::f(void) && void f() && ;...
더 읽기
이 Box 클래스를 public 계승해도 안전할까? class Box : public Object { public: Box(); ~Box(); }; 정답은…이 정보만으로는 뭐라고 말할 수 없다 이다. 얼핏 보면 안 되다고 느끼는 사람도 많을 걸로 생각한다.특히 c++를 좀 알게 되었을 때의 사람은 우선 소멸자에...
더 읽기