user-thumbnail
@doontagi
안녕하세요.
SERIES

C++

C++ 1 - namespace

2019년 6월 24일

std::cout "Hello, World!!" std::endl; 이름공간 namespace namespace::method 객체가 소속된 공간, 같은 이름을 가진 메소드라고 하더라도, 이름 공간이 다르면 다른 메소드로 취급. std라는 공간에 속한 cout이라는 메소드가 호출된 모습이다. 매번 namespace를 호출하지 않...

C++ 참조자

2019년 6월 25일

참조자 (Reference) int& ref = number; 위와 같은 방식으로 선언, 참조자는 반드시 정의시 초기화가 되어야한다 int& ref; 위와 같이 참조자 변수만 선언하는 것은 불가능하다. 참조자는 일종의 별명과 같은 역할을 하므로 어떤 변수에 대한 별명인지, 즉 어떤 변수를 참조하고 있다는 것이 정의되지 않으면 아무런 의미도 없기...

Iterator(반복자)

2019년 6월 26일

반복자란 반복자는 컨테이너 내의 원소를 순회하기 위해 사용하는 도구이다. 포인터와 유사한 부분이 있는데, 컨테이너 내의 원소를 하나씩 훑어 나갈 때 사용하는 도구이다. 반복자는 컨테이너에 대해 사용하는데, 벡터 컨테이너의 경우 begin()과 end() 메서드로 컨테이너의 첫 원소와 마지막 원소 다음 원소를 가르키는 iterator를 얻을 수 있다....

C++ map 클래스와 upper_bound, lower_bound 메서드

2019년 7월 9일

map 클래스 map클래스는 이진 검색 트리 기반의 자료 구조이다. 일반적인 이진 검색 트리는 한 방향으로 쏠린 형태로 만들어져 효율성이 떨어질 수 있는데 map은 레드 트리 구조로 되어 있어서 항상 일정한 효율성을 보장한다. 레드 트리 구조는 직접 구현하기 매우 복잡해서 C++의 표준 라이브러리 중 하나인 map클래스를 사용하는 것이 좋다. se...

이진수 마지막 비트와 and연산

2019년 7월 16일

마지막 비트 제거 and 연산자를 활용하면 이진수의 마지막 비트를제거할 수 있다. 10의 이진수 표현은 1010이다. 10에서 1을 뺀 9의 이진수 표현은 10의 마지막 비트를 뺀 1000이다. 따라서 10의 마지막 비트를제거하는 방법은 10에서 1을 뺀 값과 and 비트 연산을 해주면 된다. 위 연산을 통해서 마지막 비트를 얻을 수 있다.