Best click
-
[다이얼로그 배경색 지우기] OnEraseBkgnd 와 OnCtlColor
다이얼로그의 배경 색을 바꾸는 예제는 아래와 같다 BOOL MainWnd::OnEraseBkgnd(CDC* pDC) { CRect r; GetClientRect(r); // 배경색을 파란색으로 변경한다. 흰색은 RGB(255,255,255) pDC->FillSolidRect(r, RGB(0,0,255)); return TRUE; } 문제는 OnCtlColor 에서도 마지막 매개변수인 nCtlColor 값을 CTLCOLOR_DLG 로 설정하면 다이얼로그 배경색을 바꿀 수 있는데, OnEraseBkgnd 함수를 호출하는 메시지 WM_ERASEBKGND 의 정의 : 창 배경을 지워야 함을 나타냅니다. OnCtlColor 함수를 호출하는 메시지 WM_CTLCOLOR 의 정의 : 컨트롤이 그려지려고 함을 나타냅니..
2020.08.08
-
MPLS 기술
MPLS (81.응용.1) [정의] Layer 2레벨 교환기술을 통해 IP패킷을 Label을 이용한 고속의 전송기술 [요소기술] 네트워크 장비 (LER, LSR), 프로토콜 (LSP, LDP, LIB, FEC, LABEL) 1) 네트워크 장비 - LER : Label Edge Router- Packet 목적지를 분류하여 Label을 붙이는 라우터 - LSR : Label Switch Router- Label을 붙인 패킷이 들어오면 Label스위칭을 통해 패킷 전달 2) 프로토콜 - LSP (Label Switched Paths) : FEC에 속한 패킷이 전달되는 경로 - LDP (Label Distribution Protocol) : 이웃 LSR에게 레이블과 전송 경로를 알려주는 과정 - LIB (Lab..
2023.03.01
-
CNCF, CloudEvents
CloudEvents란? 클라우드에 CNCF의 cloudevents를 적용해 표준화된 이벤트 포맷을 정의할 수 있습니다. CloudEvents란 CNCF(Cloud Native Computing Foundation)에서 상호운용성(Interoperability)과 이식성(Portability)이 높은 이벤트를 정의한 새로운 포맷이며 특정 구현체가 아닌 이벤트 데이터를 기술하기 위한 스펙(Specification)입니다. CNCF (Cloud Native Computing Foundation)이란? Cloud Native 오픈소스 기술들을 추진하고 관리하는 단체이며, Cloud 환경에서 발생하는 다양한 기술적 문제를 오픈소스로 해결하는 것을 목표로 하고 있습니다. 이를 통해 벤더 중립적인 오픈소스 프로젝트..
2022.09.17
MFC (Windows library)
more
Basic Modern C++
-
C++ 11 : default, delete 키워드
default 컴파일러가 함수를 자동으로 생성하도록 명시적으로 지정 delete 컴파일러가 함수를 자동으로 생성하지 않도록 명시적으로 지정 class TEST { public: TEST() = default; TEST(const TEST&) = default; ~TEST() = default; TEST & operator=(const TEST) = delete; void* operator new(size_t) = delete; // new로 할당하지 못하게 방지 }; Q. 멤버 변수를 기본 타입이 아닌 사용자가 정의한 클래스 타입으로 멤버변수를 갖고있는 클래스이면 위에 처럼 TEST( const TEST& ) = default; 로 선언해도 깊은 복사가 이루어질까? 안될거같은데?
2020.08.08
-
C++ 11 : 지연 평가
컴퓨터 프로그래밍에서 느긋한 계산법(Lazy evaluation)은 계산의 결과값이 필요할 때까지 계산을 늦추는 기법이다. (개념적인 부분) 느긋하게 계산하면 필요없는 계산을 하지 않으므로 실행을 더 빠르게 할 수 있고, 복합 수식을 계산할 때 오류 상태를 피할 수 있고, 무한 자료 구조를 쓸 수 있고, 미리 정의된 것을 이용하지 않고 보통 함수로 제어 구조를 정의할 수 있다. 이렇게 얘기하면 무슨말인지 와닿지 않을 것이다. 앞에 얘기는 다 까먹고 그냥 새롭게 얘기를 해보자. Effective C++ 에서는 '변수 정의는 최대한 늦출 수 있을때까지 늦춰라' 라는 말이 있는데, 보통 우리는 변수 선언은 함수의 최상단에 몰아놓는 경향이 있다. 코드의 가독성 때문이기도 하는데, ( 내 생각엔 학교에서 프로그래..
2020.08.08
-
C++ 11 : 일급 함수 (1)다른 함수의 매개변수로 함수 전달
std::function 은 호출 가능한 함수, 람다 표현식, 또는 다른 함수 객체, 멤버 함수에 대한 포인터, 멤버 변수에 대한 포인터 등을 저장, 복사, 호출할 때 사용한다. typedef 키워드는 다른 타입이나 함수에 대한 별칭을 정의할 때 사용한다. // ConsoleApplication1.cpp : 이 파일에는 'main' 함수가 포함됩니다. 거기서 프로그램 실행이 시작되고 종료됩니다. // #include "pch.h" #include #include #include #include // 0) return x / y; else return -1; } /* 함수 포인터를 매개변수로 받는 함수 정의 */ void PassingFunc(FuncType fn, int x, int y) { cout
2020.08.08