반응형

개발 330

[C++] deque 컨테이너

deque 컨테이너deque는 vector와 유사성이 있는 듯 하면서도 상당히 많이 다르다고 할 수 있는 시퀀스 컨테이너다. 우선, Random access iterator를 통한 개별 원소에 대한 접근이 가능하다. operator []도 지원되며 컨테이너의 크기 역시 동적으로 조절되지만, 그 방법은 vector와 많이 다르다. 장점 : 개별 원소들을 인덱스로 접근이 가능하다. 원소를 컨테이너의 끝 뿐 아니라, 앞에서도 삽입 및 제거하는 것이 빠르고 어떠한 순서로도 원소들을 순회할 수 있다. 단점 : 컨테이너 시작 및 끝 위치가 아닌 곳에서 삽입 및 제거 수행 시에 그 성능은 list에 비해 현저히 떨어진다. vector와 deque의 차이점1. vector는 끝에 삽입 및 제거하는 것이 빨랐지만, de..

개발/C++ 2016.12.22

[C++] vector 컨테이너

vector 컨테이너 vector 컨테이너는 동적 배열로 구현되는데, 보통의 배열처럼 vector 컨테이너들도 각각의 원소들이 메모리 상에서 연속적으로 존재하게 된다. 이 때문에 vector 컨테이너의 원소를 참조할 때 iterator(반복자)를 이용해서 순차적으로 참조할 수 있고, 처음 원소부터의 상대적인 거리를 이용하여 접근할 수도 있다. but, 보통의 배열과는 달리 vector 컨테이너는 스스로 공간을 할당하고, 크기를 확장 또는 줄일 수도 있다. 장점1. 각각의 원소를 원소의 인덱스 값으로 바로 참조 가능하다.2. 원소들을 임의로 접근할 수 있다.3. 벡터 끝에 새로운 원소를 추가하거나 제거할 수 있다. vector는 배열이 제공하는 거의 모든 기능을 다 가지고 있는데 vector 컨테이너의 크..

개발/C++ 2016.12.21

[C++] static 변수

C언어에서 static과 C++에서의 static 은 다르다. C++에서는 전역이라는 개념이 없다. 그것을 대체하기 위해서 static이 있는 것이다. #include class A { private: static int count; public: A() { count++; } void showCount() { std::cout showCount(); //출력값 : 2 return 0; } 17번 째 줄에서 보시다시피 static 변수를 초기화할 때는 main 함수 안이 아닌 밖에서 초기화해주어야 한다.또한, static 변수는 선언과 초기화를 동시에 하지 못한다는 것을 기억하자

개발/C++ 2016.12.20

[C++] const 함수와 mutable

const로 선언되어 있는 함수에서는 값을 쓰거나 변경하지 못한다. 오로지 읽기만 가능하다. 하지만 mutable 예약어를 사용해 선언한 변수는 const 함수에서 값 쓰기와 변경이 가능하다.너무 좋다. 12345678910111213141516171819202122232425262728293031323334353637383940414243 #include class AAA {private: mutable int count = 0; public : int getCount() const; void setCount(); void showData();}; int AAA::getCount() const { count = 10; return count;} void AAA::setCount() { count = 1..

개발/C++ 2016.12.13

[JAVA] 소켓 통신을 이용한 탱크 게임

소켓 통신을 이용한 내 생에 두 번째 프로그램이다.저번에는 C#으로 소켓 통신을 이용한 채팅 프로그램을 만들었는데 이번에는 조금 더 난이도 있는 소켓 통신을 이용한 탱크 게임이다. 정말 머리가 깨지는 줄 알았다. 소켓 이용해서 코딩 좀 많이 해봐여 겠다. 최근들어서 이 프로그램 개발한 것이 가장 실력이 늘은 것 같다.

개발/Java 2016.12.11
반응형