본문 바로가기

C++74

[ 프로그래머스 ] 종이 접기 사용 언어 : C++ 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 32 33 34 35 36 37 38 39 40 41 42 #include #include #include using namespace std; vector solution(int n) { vector temp; vector answer; for (int i = 0; i 1 { temp.clear(); int size = answer.size();// 본래 크기 for (int j = 0; j 2020. 2. 4.
[ C++ ] C++ 형 변환 연산자 총 정리( static_cast, const_cast, dynamic_cast, reinterpret_cast ) C 스타일의 형 변환 연산자는 무적의 형 변환 연산자(Old C-style cast operator)이기에.. C 언어와의 호환성을 위해서 존재하지만, C++에서의 새로운 형 변환 연산자를 사용하는 것이 안전하다. C++에서 발생할 수 있는 C의 형 변환의 문제점은 기초 클래스의 포인터 형을 유도 클래스의 포인터 형으로 변환하는 것이 있기에, 일반적인 연산이 아니다. 그래서 C++은 다음과 같이 총 4개의 연산자를 추가로 제공하면서 용도에 맞는 형 변환 연산자의 사용을 권하고 있다. dynamic_cast dynamic_cast(expr) 사이에 변환하고자 하는 자료형의 이름을 둔다. 하지만 객체의 포인터 또는 참조형이 와야 한다. ( ) 사이에는 변환의 대상이 와야 한다. dynamic_cast는 다음.. 2019. 12. 7.
[ C++ ] new 연산자 예외처리 new 연산에 의한 메모리 할당이 실패하면 bad_alloc이라는 예외가 발생한다. ( bad_alooc : 헤더 파일 에 선언된 예외 클래스로써 메모리 할당의 실패를 알리는 의도로 정의됨. ) 여기서 what함수는 예외의 원인 정보를 문자열로 반환하는데, 내용은 컴파일러에 따라서 달라진다. 2019. 12. 5.
[ C++ ] 예외 클래스와 예외 객체 기본 자료형 데이터만을 '예외' 데이터로 사용했는데, 클래스의 객체도 '예외' 데이터가 될 수 있다. 또 이것이 보다 일반적인 방법이다. 예제를 보자. 예외 발생 시에 DivideException 객체를 생성하여 예외를 처리한다. 예외 발생을 알리는 데 사용되는 객체를 가리켜서 '예외 객체'라고 하며, 예외객체의 생성을 위해 정의된 클래스는 '예외 클래스'라고 한다. 객체를 이용해서 예외상황을 알리면, 예외가 발생한 원인에 대한 정보를 보다 자세히 담을 수 있다. 2019. 12. 2.