C++ 예외 처리 try catch throw

C 언어와 다르게, C++은 애러를 핸들링할 수 있는 try-catch문을 제공합니다. 비교 조건문 if 예외 처리 try-catch 핸들링 return 값의 구분으로 핸들링 throw 를 사용하여 catch로 분기 및 예외 처리 단점 return 자료형에 종속적 반드시 try-catch 블럭에서 처리 조건문은 반환 값의 구분으로 핸들링하기 때문에 반환하는 자료형에 종속적입니다. 예를 들어 char getSome()이라는 함수에서 예외 처리를 하고 싶은데 char형으로 어떻게 구분을 지을 수 있을까요? NULL값을 줄 수도 있지만 정말 NULL을 반환한게 정상적인 흐름이라면 오류가 아닐텐데 말이죠!...

2023년 05월 12일 · 4 min · 754 words · JongBin

데이터 구조 정렬 (Data Structure Alignment)

Processor 대부분의 컴퓨터는 32비트 또는 64비트의 프로세서를 갖고 있습니다. 이는 프로세서가 데이터를 처리할 때 사용하는 레지스터1)의 크기, 데이터들의 전송 통로인 버스의 폭에 따라 결정됩니다. 💡 Tips Bit Byte Count Range 8 1 \(2^{8} = 256\) -128 ~ 127 32 4 \(2^{32} = 4,294,967,296\) −2,147,483,648 ~ 2,147,483,647 64 8 \(2^{64} = 18,446,744,073,709,551,616\) –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 맨 왼쪽 비트는 부호를 나타내는 비트이고, unsigned를 붙이면 부호 비트 자리도 데이터가 올 수 있음 Memory access 프로세서가 메모리에 읽기 또는 쓰기를 할 때도 32비트 또는 64비트씩 접근하여 처리합니다....

2023년 05월 11일 · 3 min · 629 words · JongBin

Thread Pool 사용 이유 및 C++ 구현

Thread ❓ 💡 스레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티 스레드라고 한다. wikipeida 멀티 스레드를 사용하지 않는 프로그램은 찾아보기 어렵습니다. 스레드가 하나인 환경에서 작업이 지연된다면 프로그램 전체가 멈추는 불상사가 생기기 때문이죠. 잘 만들어진 프레임워크를 사용하기 때문에 신경 쓸 필요가 없기 때문이죠! 소스 코드를 여러 단위로, 즉 병렬로 처리할 수 있게 해주는 스레드를 C++에서 어떻게 사용하는지 알아보도록 하겠습니다....

2023년 05월 05일 · 7 min · 1279 words · JongBin