vector형 array 사용성. 단점
346
작성한 질문수 7
vector 로 array 를 사용하니
1. 사이즈를 안 정해줘도 된다.
2. 메모리 누수가 없다.
3. 각종 함수와 연동해서 쓸 수 있다.
등등 여러가지 장점이 있는 것을 알았습니다.
본론으로 가서...
전쟁 때 탱크 있는데 굳이 짱돌들고 싸울 필요 없다고 생각합니다
제가 궁금한건
현업에서도 vector 로 array를 사용을 많이 하나요?
(이거 하나면 거의 만능처럼 여겨집니다.)
혹시 현업에서 vector를 많이 안 쓴다면 vector array의 단점이나 기피되는 이유를 알 수 있을까요?
답변 2
4
생각나서 더 추가로 말씀드리자면
vector는 동적 배열로 구현된 컨테이너입니다. 그냥 동적 배열이라고 보시면 됩니다.
vector의 단점은 자료구조에서 배우는 그 동적 배열의 단점과 같다고 생각해보시면 될 것 같아요.
동적 배열의 단점으론 추가/삭제 연산이 좀 번거롭다는게 있겠습니다. 중간에 하나 추가하거나 삭제할 때마다 뒤에 있는 것들을 전부 전부 한칸씩 땡겨오거나 뒤로 한칸씩 밀어주거나 해야하니까요! (이게 모두 다 배열 원소들은 메모리내에서 연속적으로 자리 잡아야 한다는 그런 특성 때문에 그런 것입니다.)
그리고 아무래도 vector도 동적으로 생성되는 배열이다보니 컴파일 타임에 메모리가 결정되어 프로그램 시작 전부터 고정적인 정적배열보단 쬐끔 느릴 수 있다는거..? (그렇지만 정적배열은 삽입 삭제 배열사이즈변경이 안된다는 크나큰 단점이 있어서..)
그래서 아주 배열의 크기가 아주아주 커야 하는데 삽입/삭제 연산도 많이 할 예정이다! 싶으면 vector보단 연결리스트인 list 같이 메모리 연속성을 지키지 않는 자료구조를 쓰는 것이 좋겠습니다. 이렇게 자료구조 종류마다 다 장단점이 있으니 경우에 따라 선택하여 사용하시면 되요. (그럼에도 불구하고 vector는 많이 쓰입니다 ㅎㅎ)
변수가 메모리에 저장되는 것을 알려주는 강의가 어떤강의였죠
1
462
1
메모리 주소 10진수로 출력
1
651
1
클래스 템플릿 특수화에서 boolalpha로 표현된 리턴값에 대해 질문이 있습니다.
1
496
1
여러가지 리턴 타입에 관한 강의가 어떤 걸까요?
1
532
1
메모리 주소에 관한 질분
0
677
1
인터페이스 클래스에서 reportError의 매개변수에 대해 궁금한 것이 있습니다.
0
547
1
형변환 오버로딩에서 const 관련 질문이 있습니다.
0
442
1
Digit 뒤에 reference를 사용하는 이유
0
507
1
4.2 전역 변수, 정적 변수, 내부 연결, 외부 연결
0
320
1
dat파일이...
0
537
1
TODO:대입 연산자 오버로딩에 대한 소스코드입니다.
0
641
1
복사 생성자 관련 질문이 있습니다.
0
453
1
수업 중 궁금한점이 있습니다.
1
388
1
라이브러리자체가 이해가 되지 않습니다.
0
559
1
마지막 예제 질문
0
301
1
증감연산자 위치에 따른 수행 순서 질문입니다.
0
373
1
단항 연산자 오버로딩에서 return 부분에 질문이 있습니다.
1
408
1
friend함수 관련 질문이 있습니다.
0
310
1
operator+ 정의부분에서 궁금한 것이 있습니다.
0
446
1
3분 17초 질문
0
348
1
함수에 값을 대입한다는 개념이 이해가 되지 않습니다.
0
445
1
int getvalue() const에서 const는 왜 뒤에 붙는건가요?
0
440
2
const Something &st에서 const를 빼면 안되나요?
0
299
1
friend함수는 다른 클래스의 멤버함수로 쓸 수 없나요??
1
490
1





