벡터 문자열 push_back이 C ++에서 작동하지 않습니다.

사용자 1762571

이 코드 조각은 문자열, 구분자 (공백) 및 벡터를 인수로 받고 구분자에 따라 문자열을 분할하여 벡터에 저장합니다. push_back을 사용하면 벡터에 아무것도 저장하지 않지만 [] 연산자를 사용하면 작동합니다. 누군가 push_back이 작동하지 않는 이유를 설명 할 수 있습니까?

void split(const string & input,char delim,vector<string> & elems){
    stringstream  ss;
    ss.str(input);
    string item;
    int i = 0;
    while(getline(ss,item,delim)){
        //elems.push_back(item);
        elems[i] = item;
        i++;
    }
}

int main(){
   char delim = ' ';
   vector<string> item(2);
   string input;
   getline(cin,input);
   split(input,delim,item);
}
patrickjp93

어떤 크기 (n)로 벡터를 미리 할당 한 경우 pushback (item)은 항목을 인덱스 n에 배치하고 벡터의 크기를 더 큰 크기로 조정합니다. 예정된 문자열 수를 알고 있다면 elems[i] = item;크기 n을 할당 한 후 어쨌든 사용해야 합니다.

들어오는 개수를 모르지만 n보다 클 것이라는 것을 알고 있다면 미리 할당하지 마십시오. 대신, 일부 메모리를 예약하십시오.elems.reserve(n);

그런 다음 elems.push_back(item);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

벡터 push_back이 작동하지 않음 C ++

분류에서Dev

C ++ 문자열 push_back 함수가 작동하지 않음

분류에서Dev

push_back 및 insert가 내 벡터 클래스에서 제대로 작동하지 않습니다.

분류에서Dev

한 벡터에서 다른 벡터로 문자 이동 C ++

분류에서Dev

크기가있는 벡터를 선언하면 C ++에서 push_back을 사용하는 것보다 개선 사항이 있습니까?

분류에서Dev

C ++의 빈 벡터에 요소 추가 : push.back이 작동하고 [] 작동하지 않는 이유

분류에서Dev

C ++에서 벡터로 값을 push_back하는 함수

분류에서Dev

C 포인터 배열이 memcpy에서 작동하지 않습니다.

분류에서Dev

C ++ STD Vector push_back이 작동하지 않는 것 같습니다.

분류에서Dev

함수 호출은 문자열 리터럴에서는 작동하지만 문자열 변수 C에서는 작동하지 않습니다.

분류에서Dev

배열 C에 문자 저장이 제대로 작동하지 않습니다.

분류에서Dev

부울 식에 대한 문자열이 작동하지 않습니다. C ++

분류에서Dev

C의 HashTable이 문자열에 대해 작동하지 않습니다.

분류에서Dev

C ++ 20에서 std :: vector operator ==가 다른 할당자를 가진 벡터에 대해 작동하지 않는 이유가 있습니까?

분류에서Dev

for 루프에서 여러 변수를 벡터로 push_back하는 방법이 있습니까?

분류에서Dev

c unix execl이 strcat으로 작성된 문자열에서 작동하지 않습니다.

분류에서Dev

C ++ 문자열 스트림 문제 : getline이 stringstream에서 작동하지 않습니다.

분류에서Dev

C에서 문자 배열에 값을 할당하는 것이 작동하지 않습니다.

분류에서Dev

데이터 프레임에서 R 문자열 분할 조작이 작동하지 않습니다.

분류에서Dev

JSON 문자열의 새 줄이 크롬 에뮬레이터에서 작동하지 않습니다.

분류에서Dev

이중 슬래시가 문자열 C #에서 올바르게 작동하지 않습니다.

분류에서Dev

pyodbc 데이터 세트 내에서 문자열 찾기가 작동하지 않습니다.

분류에서Dev

c ++ 벡터-push_back (* new obj ())과 push_back (obj ())의 차이점은 무엇입니까?

분류에서Dev

MATLAB : 단순 cellfun이 string 형 벡터에서 작동하지 않습니다.

분류에서Dev

구분 기호를 사용하여 중복 문자열에 대한 벡터 push_back

분류에서Dev

C ++ 문자열에서 공백 제거가 작동하지 않습니다.

분류에서Dev

C2228-벡터 이름이 특정 방식으로 지정되면 벡터 메서드가 작동하지 않습니다.

분류에서Dev

문자열에서 숫자 추출이 작동하지 않습니다! 씨

분류에서Dev

하위 문자열이 jquery .text ()에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    벡터 push_back이 작동하지 않음 C ++

  2. 2

    C ++ 문자열 push_back 함수가 작동하지 않음

  3. 3

    push_back 및 insert가 내 벡터 클래스에서 제대로 작동하지 않습니다.

  4. 4

    한 벡터에서 다른 벡터로 문자 이동 C ++

  5. 5

    크기가있는 벡터를 선언하면 C ++에서 push_back을 사용하는 것보다 개선 사항이 있습니까?

  6. 6

    C ++의 빈 벡터에 요소 추가 : push.back이 작동하고 [] 작동하지 않는 이유

  7. 7

    C ++에서 벡터로 값을 push_back하는 함수

  8. 8

    C 포인터 배열이 memcpy에서 작동하지 않습니다.

  9. 9

    C ++ STD Vector push_back이 작동하지 않는 것 같습니다.

  10. 10

    함수 호출은 문자열 리터럴에서는 작동하지만 문자열 변수 C에서는 작동하지 않습니다.

  11. 11

    배열 C에 문자 저장이 제대로 작동하지 않습니다.

  12. 12

    부울 식에 대한 문자열이 작동하지 않습니다. C ++

  13. 13

    C의 HashTable이 문자열에 대해 작동하지 않습니다.

  14. 14

    C ++ 20에서 std :: vector operator ==가 다른 할당자를 가진 벡터에 대해 작동하지 않는 이유가 있습니까?

  15. 15

    for 루프에서 여러 변수를 벡터로 push_back하는 방법이 있습니까?

  16. 16

    c unix execl이 strcat으로 작성된 문자열에서 작동하지 않습니다.

  17. 17

    C ++ 문자열 스트림 문제 : getline이 stringstream에서 작동하지 않습니다.

  18. 18

    C에서 문자 배열에 값을 할당하는 것이 작동하지 않습니다.

  19. 19

    데이터 프레임에서 R 문자열 분할 조작이 작동하지 않습니다.

  20. 20

    JSON 문자열의 새 줄이 크롬 에뮬레이터에서 작동하지 않습니다.

  21. 21

    이중 슬래시가 문자열 C #에서 올바르게 작동하지 않습니다.

  22. 22

    pyodbc 데이터 세트 내에서 문자열 찾기가 작동하지 않습니다.

  23. 23

    c ++ 벡터-push_back (* new obj ())과 push_back (obj ())의 차이점은 무엇입니까?

  24. 24

    MATLAB : 단순 cellfun이 string 형 벡터에서 작동하지 않습니다.

  25. 25

    구분 기호를 사용하여 중복 문자열에 대한 벡터 push_back

  26. 26

    C ++ 문자열에서 공백 제거가 작동하지 않습니다.

  27. 27

    C2228-벡터 이름이 특정 방식으로 지정되면 벡터 메서드가 작동하지 않습니다.

  28. 28

    문자열에서 숫자 추출이 작동하지 않습니다! 씨

  29. 29

    하위 문자열이 jquery .text ()에서 작동하지 않습니다.

뜨겁다태그

보관