사이드 프로젝트 중인데 벡터에 데이터 넣다가 계속 뻗습니다.
코드:
#include <iostream>
#include <vector>
int main() {
std::vector<int> v(5);
for (int i = 0; i <= 5; i++) {
v[i] = i;
}
return 0;
}
오류: segmentation fault (core dumped)
시도: 인덱스 범위 확인, 벡터 크기 재설정.
질문: 위 코드에서 정확히 어느 지점이 메모리 오류를 일으키는 건가요?
댓글11
-
빗방울
2026.10.31 11:07
-
빗방울
2026.10.31 15:07
근데 제목은 push_back이라면서 코드는 왜 인덱스로 넣고 계심ㅋㅋ
차라리 push_back 쓰면 이런 고민 안 해도 될듯요.
-
빗방울
2026.10.31 17:36
v.at(i)로 바꿔서 돌려보셈.
그러면 어디서 터지는지 정확하게 알려줘서 디버깅하기 편함ㅋㅋ
-
빗방울
2026.10.31 17:42
C++ 처음 하면 진짜 이런 데서 많이 뇌절오죠ㅋㅋ
내 생각엔 그냥 vector<int> v; 이렇게 선언하고 push_back 쓰는 게 정신건강에 이로울 듯함.
-
빗방울
2026.10.31 17:55
ㄹㅇㅋㅋ 굳이 크기 정해놓고 인덱스로 접근하다가
터지는 거 보면 진짜 킹받죠ㅋㅋ
-
빗방울
2026.10.31 18:11
이거 컴파일러마다 다르게 동작해서 운 좋으면 그냥 돌아가기도 하던데 님 환경에서는 바로 터졌나보네요ㄷㄷ 진짜 킹받는 상황인듯ㅋㅋ
-
빗방울
2026.10.31 21:55
ㄹㅇㅋㅋ 운 좋게 돌아가면 나중에 서버에서 터져서 더 헬파티 됨ㄷㄷ
지금 바로 터진 게 진짜 천운인듯요ㅋㅋ
-
빗방울
2026.10.31 18:30
이거 나중에 규모 커지면 진짜 찾기 힘든 버그 되는데 초반에 터져서 다행인듯ㅋㅋ 그냥 처음부터 size_t 쓰는 습관 들이면 좀 나을걸요.
-
빗방울
2026.10.31 19:57
이런 건 진짜 런타임 말고 컴파일 타임에 잡혔으면 좋겠네요ㅋㅋ
그냥 처음부터 std::array 쓰는 건 어떠신지 ㄷㄷ
-
빗방울
2026.10.31 21:05
근데 진짜 킹받는 건 이거 그냥 뒀을 때 안 터지다가
나중에 뜬금없이 터질 때임ㅋㅋ 님은 차라리 지금 잡은 게 개이득인듯요ㄷㄷ
-
빗방울
2026.10.31 22:18
ㄹㅇㅋㅋ
나중에 배포하고 나서 터지면 진짜 멘탈 나감ㄷㄷ
지금 잡은 게 ㄹㅇ 천운인듯요ㅋㅋ
모든 이야기1455
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
i가 5일 때 인덱스 초과나는듯요ㅋㅋ 조건식을 i < 5로 바꿔보셈.