Thread와 싱글톤 상속의 문제점싱글톤과 Thread 클래스를 동시에 상속받는 것은 초기에는 코드가 간단해 보일 수 있지만, 실제로는 런타임 오류와 메모리 관리 문제를 일으킬 수 있는 설계상 큰 위험 요소입니다. 이 두 가지 상속의 문제점과 해결책을 정리해 보았습니다.문제점수명 관리 문제싱글톤 객체는 프로그램이 종료될 때까지 유지되지만, Thread 객체는 독립적으로 실행 및 종료되어야 합니다. 두 객체를 동시에 상속받을 경우, 싱글톤 객체의 수명이 Thread의 종료 타이밍에 영향을 미칠 수 있어 DLL 언로드나 프로그램 종료 시점에서 예기치 않은 문제가 발생할 수 있습니다.컴파일 타임 검증의 부재C++에서는 기본적으로 두 클래스를 상속받는 것에 대해 명시적인 제한이 없기 때문에, 개발자는 이러한 설..
#pragma pack 지시자는 구조체, 클래스, 또는 유니언의 멤버들이 메모리에 어떻게 배치되는지를 제어하는 데 사용됩니다. 기본적으로 컴파일러는 멤버들을 특정 바이트 경계에 맞추기 위해 패딩을 추가하여 최적의 성능을 보장하지만, 특정 상황에서는 이 패딩을 제거하고 메모리 사용을 최소화해야 할 필요가 있습니다. 이를 위해 #pragma pack을 사용하여 멤버들의 정렬 단위를 변경할 수 있습니다.#pragma pack 사용법#pragma pack(push, 1)과 #pragma pack(pop)은 구조체, 클래스, 유니언의 멤버 정렬을 제어하는 데 사용됩니다. 이 설정은 데이터 패딩을 줄여 메모리 사용을 최적화하거나, 파일 포맷 및 네트워크 프로토콜과 같은 특정 데이터 포맷과의 호환성을 위해 자주 사용..
- Total
- Today
- Yesterday
- 성산블루버블
- OpenSource
- 스쿠버 다이빙
- DLL
- 제주도
- script
- 암호화
- Windows
- 울릉도
- Build
- C#
- 외돌개
- 서귀포블루버블
- PowerShell
- C#.NET
- 서귀포
- 블루버블다이빙팀
- 네트워크 정보
- C# 고급 기술
- Linux
- effective
- 블루버블다이브팀
- C
- C++
- 스쿠버다이빙
- Effective c++
- 현포다이브
- CMake
- 패턴
- 블루버블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |