일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- std::ostream
- std::vector
- virtual function
- vector capacity
- virtual function table
- dynamic_cast
- operator overloading
- conversion constructor
- suffix return type
- base from member
- increment operator
- pointer to member data
- new&delete
- member function pointer
- constructor
- diamond inheritance
- discord bot
- c++ basic practice
- delete function
- this call
- std::endl
- virtual inheritance
- c++ multi chatting room
- C++
- return by reference
- vector size
- placement new
- 더 지니어스 양면포커
- std::cout
- virtual destructor
- Today
- Total
목록2024/08/29 (2)
I'm FanJae.

1. stack unwinding#include struct Object { ~Object() { std::cout - 예제의 호출이 상당히 복잡해 보이지만, 실제로는 크게 어렵지 않은 내용이다.- 이들의 호출 관계를 조금 더 그림으로 표현해보면 아래와 같다.- 이 예제는 결국 f3()에서 throw가 일어남에 실행 결과를 보면, finish는 출력되지 않는다.void f3() { std::cout - 즉, 달리 말하면 f3()에서 바로 main 함수로 돌아왔다.- 그렇다면, f2, f1()에 있던 객체는 파괴 될것인가 파괴되지 않을 것인가? 에 대해 생각해볼 수 있다.- 이제야 실행 결과를 올려보면 아래와 같다.1-1. Stack unwinding(스택 풀기)란?- 이처럼 예외가 발생해서 catch로..

1. Error Handlingvoid db_backup(){ // 서버에 접속해서 DB를 백업하는 // 기능 수행하다가 오류가 발생했다면?}void db_clear(){}int main(){ db_backup(); db_clear();}- 함수에서 특정 기능을 수행하는 도중 오류가 발생하여, 처리해야 하는 경우 어떻게 할 것인가?① 함수 내에서 프로그램(프로세스)를 종료 - std::exit() 등의 함수 사용- 보통, 심각한 경우 사용한다.② 호출자에게 오류가 발생했음을 알린다.- 일반적인 상황에서 많이 사용한다. 1-2. 호출자에서 함수가 실패 했음을 알리는 방식① 약속된 함수 반환 값(-1 등)으로 실패 전달.- C 언어 및 대부분의 언어에서 사용② 예외(Excep..