noexcept, throw
C++에서는 try-catch 구절을 통해 예외를 처리한다. 함수는 어디서나 예외를 던질 수 있으며, 예외를 처리하지 않으면 terminate()가 호출 되고 SIGABRT가 발생한다. 함수는 C++ 11 이전에 함수 선언 시 발생시킬 예외를 throw-list를...
객체의 유효 범위
객체가 생성이되고 실제 메모리를 할당 받으면 인스턴스라한다. 각 객체, 인스턴스가 유효한 범위에 대해 알아보자. Storage duration 프로그램 내 저장된 모든 객체들은 아래중 하나에 속하게 된다. automatic storage duration: 지역변수로 선언된...
exit(), abort(), assert()
프로그램의 종료에 관하여 C++로 작성된 프로그램은 main 함수의 호출이 끝나면 프로그램 프로그램이 종료된다. main 함수가 끝나기 전 실행흐름에 따라 프로그램을 정상적 비정상적으로 종료할 수 있는 방법을 알아보자. exit() 프로세스를 정상적으로...
전자서명과 인증서
우리는 집을 사기 위해 계약서를 쓸 때나 신용카드를 사용하고 나서 서명을 한다. 여기서 서명은 두 가지 효력이 있다. 첫째, 서명을 보고 서명을 한 사람(서명자)이 누군지 확인 할 수 있다. 둘째,...
가상 소멸자에 관하여
C++ 프로그래밍 중 클래스를 정의하면서 상투적으로 사용하고 있지만, 정확한 이해를 위하여 가상 소멸자에 대하 정리하여 본다. 우선 가상 소멸자를 이해하려면 두가지 용어(다형성, 가상 함수)을 알고 있어야 한다. 다형성 (Polymorphism) Polymorphism...