초기화5 벡터에서 음수 인덱스도 접근은 가능하다 기본적으로 음수 인덱스는 벡터 앞의 부분을 가리킨다 인덱스 0으로부터 인덱스 번호*자료형 크기 만큼의 앞의 메모리를 주소값으로 가지고 값으로 쓰레기값을 가지고 있다 쓰레기 값을 가지지만 더하기 빼기 등등 요소의 기본적인 연산은 가능하다 하지만 쓰레기값을 가지고 다루는 것이기에 값은 계산해도 쓸수가 없다 초기 값이 쓰레기 값이므로... 하지만 그 음수 인덱스를 초기화한다면, 그 음수 주소값이 가리키는 값은 우리가 초기화한 값을 가리켜서 실제로 계산이 가능하고 원하는 대로 사용이 가능하다 예를 들어 인덱스 0 -1 에 접근해서 그 값을 ++하는 코드가 있다면, -1인덱스의 값을 따로 a[-1]=4 처럼 초기화했다면 인덱스 -1에도 연산이 적용 될 것이고, 초기화 하지 않았으면 쓰레기값++ 이니 의미없는 값은.. 2022. 6. 22. 크기가 정해진 벡터에 push-back 시, 그 크기 뒤로 push 된다 벡터(3, 5) 로 초기화 하였을때, 벡터에 요소 하나를 push_back(7) 을 하면 3만큼의 기존 크기 뒤에 새 요소 7이 push 된다 기존 크기에 덮어지지 않고 새로 추가 되므로 헷갈리지 말자 2022. 6. 19. 벡터의 초기화, 선언 시 초기화, 벡터 크기 지정 초기화 vector 벡터명(요소 수, 초기화 할 값) 요소수만큼의 크기를 벡터에 배열처럼 정해준다면 벡터임에도 그 크기만큼은 인덱스로 접근 가능하다 벡터(3, 5) 라고 하면 3만큼의 크기가 5로 초기화 되고, 3만큼의 인덱스를 가지므로 인덱스로 접근 가능하다 v[3] = 5 크기가 정해져 있던, 정해져 있지 않던 모두 초기화 하려면 fill() 함수를 이용해서 채우는 방법도 있다 벡터 내 여러 요소들을 한번에 초기화 할때 쓰자 2022. 6. 19. 변수 사용전 반드시 초기화 할 것, 선언만 하면 안된다 예를 들어 int k; int n = k-1; k=3; 일때, n의 값은 2가 아니라 에러가 나온다 k가 초기화 되기 전에는 쓰레기 값을 가지고 있기 때문이다. 물론 전역변수로 k가 선언되면 0으로 자동 초기화가 되긴한다 변수 사용 전에 꼭 초기화를 해주자 선언만 하고 사용하면 이런 문제가 생길 수 있다 간단한 실수지만 생각보다 자주 하니 조심하자 2022. 6. 16. 이전 1 2 다음