728x90

Programing Story's 260

[기초] C++ 생성자와 소멸자 (new, delete)

C++에서 생성자와 소멸자는 객체의 초기화와 정리 작업에 중요한 역할을 합니다. 또한, 'new'와 'delete' 연산자는 동적으로 메모리를 할당하고 해제하는 데 사용됩니다. 이러한 요소들을 함께 다루는 것은 C++ 프로그래밍에서 중요한 부분입니다. 생성자와 소멸자 생성자는 객체가 생성될 때 호출되며, 멤버 변수를 초기화하거나 다른 초기화 작업을 수행합니다. 소멸자는 객체가 소멸될 때 호출되며, 메모리의 해제나 리소스의 정리 작업을 수행합니다. #include class MyClass { public: // 생성자 MyClass() { std::cout

Application/기초 2024.04.10

[MFC] 중복 실행 방지 (HANDLE, Event)

MFC에서 프로그램 중복 실행을 방지하기 위한 간단한 코드를 알려 드리겠습니다 Header File class MyClass{public: MyClass(); ~MyClass(); private: HANDLE m_hEvent; BOOL IsTaskCheck();};  우선 헤더 파일에 HANDLE 변수를 선언해 줍니다 Cpp MyClass::MyClass(){ m_hEvent = NULL;}MyClass::~MyClass(){ if(m_hEvent != NULL) { CloseHandle(m_hEvent); m_hEvent = NULL; }}MyClass::IsTaskCheck(){ m_hEvent = OpenEven..

Application/MFC 2024.04.09

[기초] C++ 접근 지정자 (private , protected, public)

C++은 객체지향 프로그래밍 언어로, 클래스와 객체를 사용하여 프로그램을 작성합니다.이때 클래스 멤버 변수와 함수에 접근을 제어하기 위해 접근 지정자(access specifier)를 사용합니다.C++에서는 세 가지 주요 접근 지정자가 있습니다.'public', 'private', 'protected' 각각의 접근 지정자는 해당 멤버의 접근 범위를 결정합니다.  public 'public' 접근 지정자로 선언된 멤버는 어디서든지 접근할 수 있습니다.이는 해당 멤버가 클래스 외부에서도 접근 가능하다는 것을 의미합니다.일반적으로 클래스의 인터페이스를 정의할 때 'public' 접근 지정자를 사용합니다. private 'private' 접근 지정자로 선언된 멤버는 클래스 내부에..

Application/기초 2024.04.08

[MySQL] too many connections 해결 방법

MySQL 다중 접속 시 접속이 제한되는 경우가 생겼을 때 해결 방법입니다 우선 현재 설정 되어 있는 최대 접속 값은 아래의 명령어로 확인 가능 합니다 mysql> show variables like 'max_connections'; 최대 접속 값을 증가 하기 위해서는 아래와 같은 방식으로 global의 max_connections 값을 증가시켜 줍니다 mysql> set global max_connections=8192; 해당 방식은 구동 중인 mysql 의 값을 변경하는 방식이고 mysql 프로세스가 재 시작되면 초기값으로 변경 됩니다 고정값으로 변경하고 싶다면 /etc/my.cnf 파일을 변경해 주시면 됩니다. (OS 종류와 버전별로 상이함) [mysqld] max_connections=8192 위..

Database/MySQL 2024.04.06

[기초] C++ 상속과 다형성

C++에서 상속과 다형성은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 코드의 재사용성과 유연성을 높이는 데 중요한 역할을 합니다. 이 글에서는 C++에서 상속과 다형성의 개념과 이를 구현하는 방법에 대해 알아보겠습니다 상속 (Inheritance) 상속은 객체 지향 프로그래밍에서 부모 클래스(기본 클래스)의 속성과 동작을 자식 클래스(파생 클래스)가 물려받는 개념입니다. 이를 통해 코드의 중복을 줄이고, 클래스 간의 계층 구조를 만들어 확장성을 높일 수 있습니다. class Animal { public: void sound() { cout

Application/기초 2024.04.04

[기초] C++ 객체 지향 프로그래밍 (OOP)

C++은 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)의 주요 언어 중 하나로, 개체(객체)들 간의 상호작용을 중심으로 프로그래밍하는 방식입니다. C++에서 OOP의 기본 개념과 이점에 대해 살펴보겠습니다. 객체 지향 프로그래밍이란? 객체 지향 프로그래밍은 현실 세계의 사물을 모델링하여 프로그램을 구성하는 개발 방법론입니다. 이는 코드의 구조를 이해하고 관리하기 쉽도록 돕습니다. 객체 지향 프로그래밍은 객체라는 개념을 중심으로 프로그램을 설계하며, 이 객체들 간의 상호작용을 통해 프로그램을 완성합니다. 기본 개념 클래스(Class) 클래스는 데이터와 함수를 하나로 묶은 사용자 정의 데이터 형식으로, 객체를 생성하기 위한 설계도입니다. 객체(Object) 클래스의 인스..

Application/기초 2024.04.02

[기초] C++ 파일 입출력 : 기초와 예제

파일 입출력은 프로그래밍에서 중요한 부분 중 하나입니다. C++에서도 파일 입출력은 매우 유용하게 사용됩니다. 이번 포스팅에서는 C++에서의 기초적인 파일 입출력에 대해 알아보겠습니다. 파일 쓰기 (Write File) 먼저 파일에 데이터를 쓰는 방법을 살펴보겠습니다. 아래 예제는 텍스트 파일에 간단한 메시지를 쓰는 방법을 보여줍니다. #include #include // 파일 입출력을 위한 헤더 파일 int main() { // 파일 스트림 생성 std::ofstream outfile("example.txt"); // 파일에 데이터 쓰기 if (outfile.is_open()) { outfile

Application/기초 2024.04.01

[기초] C++ 포인터

C++에서 포인터는 메모리 주소를 저장하는 변수입니다. 이것은 다른 변수 또는 객체를 가리키는데 사용됩니다. 포인터는 C++에서 매우 강력한 기능을 제공하며, 메모리를 효율적으로 활용하고 동적 메모리 할당을 할 수 있도록 해줍니다. 포인터의 선언 및 초기화 포인터를 선언하려면 해당 변수의 데이터 형식 뒤에 '*' 기호를 사용합니다. 예를 들어, 정수를 가리키는 포인터는 다음과 같이 선언될 수 있습니다. int* ptr; 포인터를 초기화하려면 다른 변수의 주소를 할당하거나, 동적으로 메모리를 할당하여 초기화할 수 있습니다. int x = 5; int* ptr = &x; // x의 주소를 포인터에 할당 // 또는 동적 메모리 할당을 통해 int* ptr = new int; 포인터의 사용 포인터를 사용하여 변..

Application/기초 2024.03.26

[기초] C++ 배열(Array)

배열은 동일한 데이터 유형의 요소들을 연속적으로 저장하는 정적인 데이터 구조입니다. 각 요소는 배열 내에서 고유한 위치를 가지며, 인덱스를 사용하여 접근할 수 있습니다. 배열은 메모리 상에서 연속적으로 할당되므로 요소에 대한 빠른 액세스와 효율적인 메모리 사용을 제공합니다. 배열의 선언 및 초기화 int numbers[5]; // 크기가 5인 정수형 배열 선언 위의 예제에서 numbers는 크기가 5인 정수형 배열입니다. 배열을 선언할 때는 배열의 크기를 명시해야 합니다. 배열을 선언한 후에는 각 요소를 초기화 및 수정할 수 있습니다. int numbers[5] = {1, 2, 3, 4, 5}; // 배열을 정의하고 초기화 배열 요소에 접근 배열의 요소에 접근하기 위해서는 인덱스를 사용합니다. C++의 ..

Application/기초 2024.03.22
728x90
반응형