cpp 5

enum - 열거형

의 방법은 enum 이름 { 항목들 }로 만드는 것이 가능하다. 안의 값들은 , 로 구분을 하고 기본적으로 앞에서 부터 0, 1, 2, 3, 4 순으로 나가게 된다. 다른 방법으로 원소마다 값을 넣어 주는 방법도 있다 위의 예제는 캐릭터의 상태를 열거형으로 표현을 해본 것이다. 이 열거형을 실제로 사용하려고 하면 에러가 나게 된다. 이유는 두 열거형이 같은 원소를 포함하고 있다는 점인데 C#같은 경우 열거형의 값을 쓰기 위해서는 (열거형이름).원소이름 으로 접근을 하지만 C++의 경우 원소의 이름만 써도 접근이 가능하기 때문이다 이런 문제를 해결하기 위해 enum을 enum class로 바꾸어주고 대입을 할 때에는 (열거형이름)::열거형값의 방법으로 하면 된다. 해당 내용은 아래 링크에서 참고 가능하다...

Smart Pointer

C++에서 프로그래머는 new와 delete를 이용해 동적할당을 하고 그에 대한 메모리를 해제한다 동적할당을 한 객체는 힙 영역에 할당이 되고 우리는 포인터로 저장된 객체를 참조한다 함수가 종료가 되면 함수 안 스택영역에 저장된 지역변수의 메모리는 해제가 되는데 exam은 main함수 안의 지역변수이므로 main함수가 종료가 된다면 해제가 된다 하지만 exam이 실제로 가리키는 힙영역에 할당된 PointerEx는 delete를 하지 않는다면 main함수가 종료가 되어도 해제가 되지 않게 된다 이런 상황은 메모리 누수로 이어지게 되기 때문에 new를 썻다면 delete도 쓴 만큼 써 주어야 메모리 누수가 나지 않는다. 다른 객체지향언어라면 가비지컬렉터가 저런 누수가 되는 부분을 잡아주겠지만 C++은 메모리..

C++ 2023.03.04

C++ Stack, Queue 기본 함수

pop() : 항목을 빼낸다. 큐는 맨 처음, 스택은 맨 마지막에 삽입한 자료 큐의 맨 앞 항목 => front(), 스택의 맨 앞 항목 => top(), 우선순위 큐는 top이 맨 앞 항목 push(항목) : 항목 삽입, 큐는 맨 뒤, 스택은 맨 위에 삽입 size() : 항목의 개수 반환 empty() : 자료가 비어있는지를 판단(참이면 비어있음) C++11 emplace(항목) : 자료구조에 삽입, push()와 같음 swap(자료구조) : 인자로 받은 자료구조와 내용물을 바꿔줌

C++ 2023.03.04

C++ String 기본 함수

------------------#include추가하기 생성 - 초기화 string str = "Hello!"; string str2("Hello!"); begin(), end() -- 시작 , 끝 rbegin(), rend() -- (거꾸로)시작, 끝 --> 끝, 시작 size(), length() -- 크기 접근 str[n], at(n) -- n 번 항목에 접근 front, back -- 첫, 마지막 항목 접근 수정 = 대입, + 뒤에 추가 push_back(), pop_back() -- 맨 뒤 문자 추가, 삭제 .swap(str) -- str로 문자열 변경 .assign(매 개 변 수) -- 문자열 할당 1. 할당할 문자열, 개수 2. 문자의 개수, 문자 3. 문자열, 할당하는 위치, 개수 .app..

C++ 2023.03.04
728x90
반응형
LIST