코딩 1막 <C++개념편>(38)
-
[C++] 38. namespace
// namespace // // '공간의 분리'를 의미한다. // 함수의 명이 겹치거나 변수의 명이 겹칠때 에러발생 // 작업자들이 겹치지 않도록 만든 개념 // 최근 동향은 namespace를 잘 쓰지 않음. #include #include // namespace // // namespace는 공간의 분리를 말함 // 나만의 작업공간을 만들어 놓는 것 using namespace std;// std라는 공간을 쓰겠다. namespace A { int value = 30; void Func() { for (int i = 0; i < value; i++) { cout
2022.06.27 -
[C++] 37. 상수화
*면접에서 자주 등장하는 상수화* 1. const와 define의 차이 2. constexpr의 정의 // 상수화 // // 상수는 3, 1, 2,,,같이 '변하지 않는 값'을 말하며, 변수의 반대이다. // 변수를 상수화하는 것 // 값을 계속 바꿀 수 있는 변수와는 달리 변하지 않는 값이기에 처음 선언부터 값을 할당받게 되면서 그 다음부터는 값을 바꿀 수 없다. // 그렇기 때문에 상수를 선언할때 반드시 선언과 동시에 초기화를 같이 해야한다. // 상수화는 값을 변경시키지 못하도록 제한하고 싶을때 사용한다. // 상수화의 방법으로 크게 const로 상수를 만드는 방법과 define을 활용하여 매크로 상수를 만들어 값을 치환시키는 방법이 있다. // const와 define의 차이(const가 defi..
2022.06.27 -
[C++] 36. 자료구조 : 링크드리스트(LinkedList)
1. 링크드리스트의 개념 // 연결 리스트 // // 앞의 세 구조와 달리 메모리에 있는 데이터의 물리적배치를 사용하지 않는 데이터구조다. // index나 위치보다 '참조 시스템'을 사용한다. // 각 요소는 '노드'라는 것에 저장되며, 다음 노드연결에 대한 포인터 또는 주소가 포함된 또 다른 노드에 저장한다. // 모든 노드가 연결된 때까지 반복이 돼서 노드의 연결로 이루어진 자료구조다. // 장점 : 새로운 요소의 추가와 삭제가 용이하다. 메모리를 더 효율적으로 쓸 수 있어 대용량 데이터 처리에 적합하다. // 단점 : 배열보다 메모리를 더 사용한다. 처음부터 끝까지 순회하기 때문에 원하는 값을 비효율적으로 처리한다. // 사용예시) 음악 플레이어, 이미지 뷰어, 갤러리, 데이터를 연속적으로 빠르게..
2022.06.27 -
[C++] 35. 자료구조 : 큐와 스택(Queue & Stack)
웃겨서 가져와보았습니다 이건 무슨 자료구조일까요? ㅋㅋ *삭제연산이 수행되는 곳을 프론트(front, head, start)라고 부르고, 삽입연산이 이루어지는 곳은 리어(rear,tail,end)라고 부르도록 하자!! *Queue의 경우 FIFO(First In First Out)구조로서 선입선출이라고 부른다. *Queue는 프론트에서 이루어지는 삭제연산을 디큐(Dequeue)라고 부르며, 리어에서 이루어지는 삽입연산을 인큐(Enqueue)라고 부른다. *Stack은 "쌓다"라는 의미로, 데이터를 순서대로 차곡 차곡 쌓아올린 형태의 자료구조를 떠올리면 된다. *Stack의 경우 LIFO(Last In First Out)구조로서 후입선출이라고 부른다. *Stack은 정해진 방향으로만 쌓을 수 있으며, to..
2022.06.23 -
[C++] 34. 게터와 세터
private영역의 멤버변수를 외부에서 참조할 수 있도록 해주고 수정이 되지 않아야 되는 항목에 대해서는 세터를 구현하지 않으므로써 읽기전용으로 만들 수 있다. 또한 게터와 세터가 함수이기 때문에, 겟과 셋이 될때 추가적인 기능을 부여할 수 있다. [게터문법] 변수데이터타입 Get변수명() { return 변수; } [세터문법] void Set변수명(변수데이터타입 value) { 변수 = value; } #include #include using namespace std; class Monster { private: string name; int hp; int halfHp; int maxHp; int atk; bool isBerserk = false; public: // private영역의 멤버변수를 외..
2022.06.22 -
[C++] 33. 클래스
클래스(class)는 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀(template)이다. #include #include using namespace std; // 클래스 // class 구조체명 // { // public: // 내용 // } class Monster { public: string name; int hp; int atk; Monster() { cout
2022.06.22