728x90

반도체 50

22. C++에서 변수

C++에서 변수는 데이터를 저장하는 데 사용되는 이름이 붙은 메모리 위치입니다. 변수는 다양한 데이터 타입을 가질 수 있으며, 프로그램 실행 중에 값을 저장하고 변경할 수 있습니다. 변수에 대해 자세히 설명하겠습니다.변수 선언 및 초기화변수를 사용하려면 먼저 선언해야 합니다. 선언 시 변수의 데이터 타입과 이름을 지정합니다. 초기화를 통해 변수를 선언하면서 값을 설정할 수도 있습니다.int myVariable; // 변수 선언myVariable = 10; // 변수 초기화int anotherVariable = 20; // 선언과 동시에 초기화변수의 데이터 타입변수는 다양한 데이터 타입을 가질 수 있습니다. 주요한 데이터 타입은 다음과 같습니다:기본 데이터 타입int: 정수형 (예: in..

반도체/C++ 2024.08.14

21. && 논리 AND 연산자 (Logical AND Operator):

논리 AND 연산자 (Logical AND Operator):&&는 논리 AND 연산자로, 두 조건이 모두 참일 때만 참을 반환합니다.사용 예:bool a = true;bool b = false;if (a && b) { // 이 블록은 실행되지 않습니다.}rvalue 참조 (rvalue Reference):C++11에서 도입된 rvalue 참조는 &&를 사용하여 선언됩니다.rvalue 참조는 임시 객체나 이동 시맨틱을 구현할 때 사용됩니다.사용 예:void foo(int&& x) { // x는 rvalue 참조입니다.}int main() { int a = 5; foo(5); // rvalue를 전달합니다. // foo(a); // 컴파일 오류: lvalue를 rvalue 참조에..

반도체/C++ 2024.08.14

3. MFC 이벤트 플러그 활용

1. SW_SHOW컨트롤을 보이게 합니다.GetDlgItem(IDC_CALCULATOR_BUTTON)->ShowWindow(SW_SHOW);2. SW_SHOWNA활성화되지 않은 상태에서 컨트롤을 보이게 합니다.GetDlgItem(IDC_CALCULATOR_BUTTON)->ShowWindow(SW_SHOWNA);3. SW_HIDE컨트롤을 숨깁니다.GetDlgItem(IDC_CALCULATOR_BUTTON)->ShowWindow(SW_HIDE);4. SW_MINIMIZE컨트롤을 최소화합니다 (주로 창에 사용).GetDlgItem(IDC_CALCULATOR_BUTTON)->ShowWindow(SW_MINIMIZE);5. SW_MAXIMIZE컨트롤을 최대화합니다 (주로 창에 사용).GetDlgItem(IDC_C..

반도체/MFC 2024.08.01

C#과 C++의 객체 지향 개념 차이

1. 클래스와 구조체C++: C++에서는 클래스와 구조체가 있으며, 둘 다 사용자 정의 데이터 타입을 정의할 수 있습니다. 기본적으로 구조체의 멤버는 public이고, 클래스의 멤버는 private입니다. 또한, C++에서는 구조체도 메서드와 접근 제어를 가질 수 있습니다.C#: C#에서는 클래스와 구조체가 있지만, 구조체는 값 타입(value type)으로, 클래스는 참조 타입(reference type)입니다. 구조체는 주로 간단한 데이터 구조에 사용되며, 메서드와 속성을 가질 수 있지만, 상속은 지원하지 않습니다.2. 접근 제어자C++: C++에서는 public, private, protected 접근 제어자를 사용하여 멤버의 접근 수준을 지정합니다. 기본 접근 수준은 클래스에서는 private, ..

반도체/C++ 2024.08.01

20.C++ 템플릿과 함수 오버로딩의 차이

1. 정의템플릿: 템플릿은 함수나 클래스를 정의할 때 데이터 타입을 일반화하여 여러 타입에 대해 동일한 로직을 적용할 수 있게 해줍니다. 템플릿은 컴파일 시간에 인스턴스화되어 특정 타입에 맞는 코드로 변환됩니다.함수 오버로딩: 함수 오버로딩은 같은 이름의 함수를 여러 개 정의하되, 매개변수의 타입이나 개수를 다르게 하여 서로 다른 기능을 수행할 수 있게 합니다. 즉, 함수의 이름은 같지만 매개변수의 목록이 다릅니다. 템플릿 예제:template T add(T a, T b) { return a + b;}함수 오버로딩 예제:int add(int a, int b) { return a + b;}double add(double a, double b) { return a + b;}3. 타입 결정 시..

반도체/C++ 2024.07.31

19. C++의 객체지향 4가지

C++의 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발에서 객체를 중심으로 설계하는 프로그래밍 패러다임. C++는 OOP의 4가지 주요 개념인 캡슐화, 상속, 다형성, 추상화를 지원  1. 캡슐화 (Encapsulation)설명: 객체의 상태(데이터)와 동작(메서드)을 하나의 단위로 묶어 외부로부터 보호하는 것입니다. 이를 통해 데이터에 대한 직접적인 접근을 제한하고, 객체의 내부 구현을 숨길 수 있습니다.예제:class Account {private: double balance; // private 멤버 변수public: // 생성자 Account(double initialBalance) : balance(initialBalance)..

반도체/C++ 2024.07.31

2. MFC의 ShowWindow 함수(winuser.h)

BOOL ShowWindow( [in] HWND hWnd, [in] int nCmdShow );    값의미SW_HIDE0창을 숨기고 다른 창을 활성화합니다.SW_SHOWNORMALSW_NORMAL1창을 활성화하고 표시합니다. 창을 최소화, 최대화 또는 정렬하면 시스템은 창을 원래 크기와 위치로 복원합니다. 애플리케이션은 창을 처음으로 표시할 때 이 플래그를 지정해야 합니다.SW_SHOWMINIMIZED2창을 활성화하고 최소화된 창으로 표시합니다.SW_SHOWMAXIMIZEDSW_MAXIMIZE3창을 활성화하고 최대화된 창으로 표시합니다.SW_SHOWNOACTIVATE4창의 최근 크기와 위치를 표시합니다. 이 값은 창이 활성화되지 않았다는 점을 제외하고 SW_SHOWNORMAL 비슷합니다.SW_SHOW5..

반도체/MFC 2024.07.30

18. C++의 형변환 (2) 안정성

C++에서 안정성 있는 형변환은 프로그램의 안전성을 보장하며, 런타임 오류를 방지하는 형변환 방법을 의미합니다. 안정성 있는 형변환은 주로 static_cast, dynamic_cast, const_cast, 그리고 reinterpret_cast 중에서 특정한 상황에서 적절히 사용  1. static_cast설명: static_cast는 컴파일 타임에 타입의 안전성을 검사하는 형변환 연산자입니다. 기본 데이터 타입 간의 변환, 클래스 계층에서의 업캐스팅 및 다운캐스팅에 사용됩니다. 다만, 다운캐스팅의 경우 안전성을 보장하지 않으므로, 반드시 타입 관계가 확실할 때 사용class Base {};class Derived : public Base {};Base* basePtr = new Derived();De..

반도체/C++ 2024.07.29

18. C++의 형변환 (1)

18. C++의 형변환 C++에서 형변환(타입 캐스팅)은 한 데이터 타입을 다른 데이터 타입으로 변환하는 과정     1. 암시적 형변환 (Implicit Conversion)암시적 형변환은 C++ 컴파일러가 자동으로 수행하는 형변환입니다. 예를 들어, 정수형 변수를 실수형 변수에 할당할 때 자동으로 변환  2. 명시적 형변환 (Explicit Conversion)명시적 형변환은 프로그래머가 의도적으로 형변환을 수행하는 방법입니다. C++에서는 여러 가지 방법으로 명시적 형변환을 수행 2.1. C 스타일 캐스팅가장 기본적인 형변환 방법으로, (타입)을 사용하여 변환double doubleValue = 5.5;int intValue = (int)doubleValue; // double -> int로 변환2..

반도체/C++ 2024.07.29

17. C++의 템플릿

C++의 템플릿은 코드의 재사용성을 높이고, 다양한 데이터 타입에 대해 일반화된 함수를 작성할 수 있도록 하는 강력한 기능입니다.  템플릿을 사용하면 특정 데이터 타입에 의존하지 않고, 여러 타입에 대해 동일한 로직을 적용  주로 함수 템플릿과 클래스 템플릿 두 가지 유형  1. 함수 템플릿 (Function Templates)함수 템플릿은 다양한 데이터 타입에 대해 동일한 함수를 작성할 수 있게 해줍니다. 함수 템플릿을 정의할 때는 template 키워드를 사용합니다. #include using namespace std;// 함수 템플릿 정의template T add(T a, T b) { return a + b;}int main() { cout 위 예제에서 add 함수는 T라는 템플릿 매개변..

반도체/C++ 2024.07.29
728x90