728x90

2024/08 25

32. C++에서의 객체지향

C++에서의 객체지향 프로그래밍(OOP, Object-Oriented Programming)은 프로그램을 구성하는 데 있어 객체라는 개념을 중심으로 하는 프로그래밍 패러다임입니다.   1. 객체(Object)와 클래스(Class)객체(Object): 객체는 속성과 행동을 가진 실체를 의미합니다. 예를 들어, "자동차"라는 객체는 색상, 모델, 속도와 같은 속성을 가질 수 있으며, "주행하다", "정지하다"와 같은 행동을 수행할 수 있습니다. 객체는 실제 세계의 개념을 컴퓨터 프로그램으로 모델링하는 데 사용됩니다.클래스(Class): 클래스는 객체를 생성하기 위한 청사진 또는 템플릿입니다. 클래스는 객체가 가질 속성과 행동을 정의합니다. 즉, 클래스는 객체의 설계도 역할을 하며, 객체는 클래스의 인스턴스(..

반도체/C++ 2024.08.30

31. C++에서 메모리 관리의 중요성과 힙(heap)과 스택(stack)의 차이

C++에서 메모리 관리의 중요성과 힙(heap)과 스택(stack)의 차이 1. 메모리 관리의 중요성프로그램이 제대로 실행되기 위해서는 모든 변수의 주소값이 컴파일 시에 확정되어야 합니다.그러나 이러한 방식은 프로그램에 많은 제약을 주기 때문에, 실행 시에 더 유연하게 메모리를 관리할 수 있는 방법이 필요합니다.2. 스택(Stack)과 힙(Heap)스택:컴파일러에 의해 메모리가 자동으로 관리됩니다.메모리 할당과 해제가 자동으로 이루어지기 때문에 안정성이 보장됩니다.힙:사용자가 직접 메모리를 할당하고 해제해야 하는 공간입니다.메모리를 자유롭게 관리할 수 있지만, 잘못된 관리로 인해 메모리 누수나 오류가 발생할 수 있습니다.3. C 언어에서의 메모리 관리C에서는 malloc과 free 함수를 사용하여 힙에서..

반도체/C++ 2024.08.30

30. C++ 스레드 생성 방법

C++에서 스레드를 생성하는 방법은 주로 std::thread 클래스를 사용하는 것입니다. C++11부터 제공되는 이 클래스는 스레드를 쉽게 생성하고 관리할 수 있게 해줍니다. 스레드를 생성하는 기본적인 방법은 다음과 같습니다.스레드 생성 방법함수 포인터를 사용한 스레드 생성: 기본적인 스레드 생성 방법은 실행할 함수를 포인터로 전달하는 것입니다.#include #include void threadFunction() { std::cout 람다 함수를 사용한 스레드 생성: C++11에서는 람다 함수를 사용하여 스레드를 생성할 수도 있습니다.#include #include int main() { std::thread t([]() { std::cout 클래스 멤버 함수를 사용한 스레드 ..

반도체/C++ 2024.08.30

29. C++의 스레드 개념

C++에서 스레드는 프로그램 내에서 동시에 실행되는 경량 프로세스를 의미합니다. 스레드를 사용하면 여러 작업을 병렬로 수행할 수 있어 프로그램의 성능을 향상시킬 수 있습니다. C++11부터는 헤더를 통해 스레드를 쉽게 사용할 수 있는 기능이 추가되었습니다.기본 개념스레드 생성: std::thread 클래스를 사용하여 새로운 스레드를 생성할 수 있습니다. 스레드를 생성할 때 실행할 함수를 인자로 전달합니다.#include #include void threadFunction() { std::cout 스레드 동기화: 여러 스레드가 공유 자원에 접근할 때 데이터 경합이 발생할 수 있습니다. 이를 방지하기 위해 std::mutex를 사용할 수 있습니다.#include #include #include std..

반도체/C++ 2024.08.30

1. ETF의 구체적인 이야기

ETF(Exchange-Traded Fund)는 상장지수펀드로, 주식처럼 거래소에서 매매할 수 있는 투자 상품입니다. ETF는 특정 지수, 산업, 자산군 등을 추종하며, 여러 자산에 분산 투자할 수 있는 장점을 제공  1. ETF의 구조와 특징지수 추종: ETF는 특정 주가 지수(예: S&P 500, NASDAQ-100 등)를 추종하는 방식으로 운영됩니다. 이는 투자자가 지수를 구성하는 모든 주식에 직접 투자하는 것보다 더 간편합니다.분산 투자: ETF는 여러 주식이나 자산을 포함하므로, 개별 주식에 투자할 때 발생할 수 있는 리스크를 줄일 수 있습니다. 예를 들어, S&P 500 ETF는 500개의 대형 미국 기업에 투자하는 효과를 제공합니다.유동성: ETF는 주식처럼 거래소에서 실시간으로 매매할 수 ..

경제지식 2024.08.20

0. ETF에 대하여

ETF(Exchange-Traded Fund)는 상장지수펀드로, 주식처럼 거래소에서 매매할 수 있는 투자 상품입니다. ETF는 특정 지수나 자산군(예: 주식, 채권, 원자재 등)을 추종하여, 투자자에게 다양한 자산에 분산 투자할 수 있는 기회를 제공ETF의 주요 특징지수 추종: ETF는 특정 주가 지수(예: S&P 500, NASDAQ-100 등)를 기반으로 하여, 해당 지수를 구성하는 자산에 투자합니다.분산 투자: 하나의 ETF를 구매함으로써 여러 주식이나 자산에 동시에 투자하는 효과를 얻을 수 있습니다. 이는 리스크를 줄이는 데 도움이 됩니다.유동성: ETF는 주식처럼 실시간으로 거래소에서 매매할 수 있어, 투자자는 기초 자산의 가치 변동에 즉각적으로 반응할 수 있습니다.비용 효율성: 일반적으로 ET..

경제지식 2024.08.20

7. MFC에 대하여

1. 아키텍처문서/뷰 아키텍처: MFC는 문서(Document)와 뷰(View)를 분리하여 애플리케이션의 데이터와 UI를 관리합니다. CDocument 클래스는 데이터와 비즈니스 로직을, CView 클래스는 사용자 인터페이스를 담당합니다.윈도우 클래스: MFC에서 CWinApp 클래스를 상속하여 애플리케이션을 정의하고, CFrameWnd 클래스를 상속하여 프레임 윈도우를 생성합니다.2. 메시지 맵메시지 처리: MFC는 Windows 메시지를 처리하기 위해 메시지 맵을 사용합니다. ON_COMMAND, ON_WM_PAINT 등의 매크로를 사용하여 메시지를 처리하는 핸들러 함수를 정의합니다.시스템 메시지: 예를 들어, WM_PAINT, WM_CLOSE, WM_SIZE 등의 메시지를 처리하여 애플리케이션의 동..

반도체/MFC 2024.08.20

6. MFC에서 많이 사용하는 함수들

MFC( Microsoft Foundation Classes)는 Windows 애플리케이션을 개발하기 위한 C++ 클래스 라이브러리입니다. MFC에서 많이 사용되는 함수와 클래스들1. 윈도우 클래스 및 생성CWinApp: 애플리케이션의 기본 클래스입니다. 애플리케이션의 초기화 및 종료를 관리합니다.InitInstance(): 애플리케이션 초기화 코드가 위치하는 함수입니다.CFrameWnd: 프레임 윈도우를 생성하는 클래스입니다.Create(): 프레임 윈도우를 생성합니다.2. 메시지 처리ON_WM_PAINT(): WM_PAINT 메시지를 처리하는 매크로로, 화면을 그리는 코드를 작성하는 데 사용됩니다.ON_WM_SIZE(): WM_SIZE 메시지를 처리하여 윈도우 크기 변경 시 동작을 정의합니다.ON_C..

반도체/MFC 2024.08.20

28. C++에서 사용하는 함수들

1. 수학 함수abs(int n): 정수의 절대값을 반환합니다.sqrt(double x): 주어진 수의 제곱근을 반환합니다.pow(double base, double exponent): 거듭제곱을 계산합니다.sin(double x), cos(double x), tan(double x): 삼각함수의 값을 반환합니다.log(double x): 자연 로그를 반환합니다.2. 문자열 함수strlen(const char* str): 문자열의 길이를 반환합니다.strcpy(char* dest, const char* src): 문자열을 복사합니다.strcat(char* dest, const char* src): 문자열을 연결합니다.strcmp(const char* str1, const char* str2): 두 문자열..

반도체/C++ 2024.08.20

5 .C++의 OnTimer MFC

C++에서 OnTimer는 일반적으로 GUI 프로그래밍 또는 이벤트 기반 프로그래밍에서 사용되는 메서드로, 타이머 이벤트를 처리하는 데 사용됩니다. 이 메서드는 특정 시간 간격마다 호출되어 특정 작업을 수행하도록 설정할 수 있습니다.1. 기본 개념타이머: 특정 시간 간격으로 이벤트가 발생하게 하는 기능입니다. 예를 들어, 애플리케이션이 일정 시간마다 화면을 갱신하거나, 주기적으로 데이터를 체크할 때 사용됩니다.OnTimer 메서드: 타이머가 만료될 때 호출되는 콜백 함수로, 타이머가 설정된 시간 간격에 도달했을 때 실행할 코드를 포함합니다.2. 예제 (Win32 API)Win32 API를 사용하는 C++ 프로그램에서 OnTimer를 구현하는 간단한 예를 들어보겠습니다.#include LRESULT CAL..

반도체/MFC 2024.08.20
728x90