본문 바로가기

개발/C++10

[C++] const 포인터 const는 상수의 개념으로 생각하면된다. const로 변수를 선언한다면 바꿀 수 없는 값이 된다. const 자료형 상수명 = 상수값 const로 선언된 변수를 변경하려고 한다면 '읽기 전용 변수에 접근' 했다는 에러가 발생한다 포인터와 const 포인터 자료형 앞에 const가 붙는 경우 ( const int ) 여기서 c는 const int를 가리키므로 가리키는 '값'을 변경하는 건 불가능하다. ( 가리키는 값이 불변 ) 포인터 자료형 뒤에 const가 붙는 경우 ( const 포인터 ) const 포인터 이므로 가리키는 '대상'을 바꿀 수없다. (변수 자체가 불변) 따라서 값은 변경하지만 가리키는 대상(위치)는 변경 할 수 없다. cf) const 포인터는 선언과 동시에 초기화 해줘야 한다. 포인.. 2020. 2. 7.
Array와 List 비교 Array (배열) 같은 자료형을 가진 다수의 데이터를 그룹핑해서 효율적으로 관리할 수 있는 자료형. Index가 있어서, index를 이용하여 원하는 데이터에 접근하기 쉽다. 연속된 메모리 공간으로 이루어져 있다. 크기가 정해져있다. 배열의 장점 인덱스를 통한 검색을 하기 때문에, 데이터 조회가 빠르다. 배열의 단점 어떤 엘리먼트가 삭제 되면, 삭제된 빈 공간이 생기게된다. -> 빈공간으로 인한 메모리 낭비 배열의 크기를 미리 정해야 한다. 배열의 길이를 바꾸기 위해선 리소스 낭비가 크다. List (리스트) 순서가 있는 연속적인 데이터의 집합 빈 엘리먼트는 허용 하지 않는다. 데이터 갯수가 확실하게 정해져 있고, 자주 사용된다면 List보다 Array가 더 효율적이다. 리스트 장점 빈틈없는 데이터의 .. 2020. 2. 6.