C ++에서 문자열 벡터를 가장 잘 초기화하는 방법은 무엇입니까?

모하마드 모기 미

나는 일반적으로 파이썬의 구문을 좋아합니다.

v = [ "sds", "bsdf", "dsdfaf"]

현재 C ++에있는 것은 다음과 같습니다.

vector<string> v;
v.push_back("sds");
v.push_back("bsdf");
v.push_back("dsdfaf");

이 작업을 수행하는 더 나은 / 깨끗한 방법이 있습니까? v는 초기화 후에도 변경되지 않습니다. 따라서 배열도 작동 할 수 있지만 배열의 문제는 코드에서 배열의 길이도 하드 코딩해야한다는 것입니다.

char* v[] = {"sds", "bsdf", "dsdfaf"};
for (int i = 0; i < 3; ++i) do_something(v[i]);

편집 : C ++ 11이 없습니다. 내 컴파일러는 gcc 4.1.2입니다.

법무관

C ++ 03 솔루션 :

한 쌍의 반복기를 사용하는 벡터 생성자를 사용하십시오.

char* arr[] = {"sds", "bsdf", "dsdfaf"};
vector<string> v(arr, arr + sizeof(arr)/sizeof(arr[0]));

초기화 후 길이를 변경할 필요가없는 경우 배열을 사용하십시오. 배열 길이를 하드 코딩하지 않으려면이 함수 템플릿을 사용하여 크기를 추론하십시오.

template<typename T, std::size_t N>
std::size_t length_of( T const (&)[N] ) { return N; }

char* v[] = {"sds", "bsdf", "dsdfaf"};
for (int i = 0; i < length_of(v); ++i) do_something(v[i]);

.NET Framework를 전달하는 함수 내에서는 작동하지 않습니다 char **.


사용하다 boost::assign::list_of

using boost::assign::list_of;
std::vector<std::string> v = list_of("sds")("bsdf")("dsdfaf");

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

생성자에서 초기화 된 배열에 데이터를 추가하는 방법은 무엇입니까?

분류에서Dev

벡터 또는 배열에서 가장 일반적인 숫자를 선택하는 방법은 무엇입니까? (TOP5 toplist) C ++

분류에서Dev

벡터의 크기가 너무 클 때 C ++에서 메모리 부족 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

정규식 C ++-문자열 끝에 여러 문장 부호를 저장하는 방법은 무엇입니까?

분류에서Dev

C #에서 역 직렬화하는 동안 JSON 문자열에없는 속성의 초기화를 방지하는 방법은 무엇입니까?

분류에서Dev

문자열 벡터에서 각 문자열의 문자를 반복하는 방법은 무엇입니까?

분류에서Dev

C ++에서 두 개의 문자열 벡터로 문자열을 만드는 방법은 무엇입니까?

분류에서Dev

열이 문자형 벡터에 저장 될 때 cbind ()를 사용하는 방법은 무엇입니까?

분류에서Dev

C ++에서 객체 벡터를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

c에서 문자열 당 단어와 문장의 수를 계산하는 방법은 무엇입니까?

분류에서Dev

for 루프에서 벡터에 문자열을 추가하는 방법은 무엇입니까?

분류에서Dev

파일에서 특정 문자열을 가장 잘 제거하는 방법은 무엇입니까?

분류에서Dev

C ++의 함수에서 벡터를 반환하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

C ++에서 생성자를 사용하여 2D 벡터를 초기화하는 방법은 무엇입니까?

분류에서Dev

Java의 문자열에서 가장 긴 문자 시퀀스를 반환하는 방법은 무엇입니까?

분류에서Dev

Java로 문자열에서 가장 자주 발생하는 문자를 찾는 방법은 무엇입니까?

분류에서Dev

Objective C에서 문자열에 매개 변수를 추가하는 방법은 무엇입니까?

분류에서Dev

C ++의 배열에서 ASCII가 아닌 문자를 비교 / 교체하는 방법은 무엇입니까?

분류에서Dev

C의 구조 배열에서 단일 요소를 초기화하는 방법은 무엇입니까?

분류에서Dev

벡터에 문자열 요소를 넣는 방법은 무엇입니까?

분류에서Dev

C의 문자열에서 마지막 문자를 저장하는 방법은 무엇입니까?

분류에서Dev

Python C API에서 날짜 문자열을 가장 잘 구문 분석하는 방법은 무엇입니까?

분류에서Dev

문자열 벡터에서 2D 배열을 초기화하는 가장 쉬운 방법은 무엇입니까?

분류에서Dev

생성자 내부에서 벡터 크기를 초기화하는 방법은 무엇입니까?

분류에서Dev

C #에서 문자열의 추가 문자를 제거하는 방법은 무엇입니까?

분류에서Dev

가장 우아한 방식으로 C ++의 객체 벡터를 기반으로 포인터 벡터를 초기화하는 방법은 무엇입니까?

분류에서Dev

Objective-C의 문자열 배열에서 가장 큰 숫자 값을 찾는 방법은 무엇입니까?

분류에서Dev

C ++에서 부울 벡터를 초기화하는 표준 방법은 무엇입니까?

분류에서Dev

공장에서 객체를 더 잘 초기화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    생성자에서 초기화 된 배열에 데이터를 추가하는 방법은 무엇입니까?

  2. 2

    벡터 또는 배열에서 가장 일반적인 숫자를 선택하는 방법은 무엇입니까? (TOP5 toplist) C ++

  3. 3

    벡터의 크기가 너무 클 때 C ++에서 메모리 부족 문제를 해결하는 방법은 무엇입니까?

  4. 4

    정규식 C ++-문자열 끝에 여러 문장 부호를 저장하는 방법은 무엇입니까?

  5. 5

    C #에서 역 직렬화하는 동안 JSON 문자열에없는 속성의 초기화를 방지하는 방법은 무엇입니까?

  6. 6

    문자열 벡터에서 각 문자열의 문자를 반복하는 방법은 무엇입니까?

  7. 7

    C ++에서 두 개의 문자열 벡터로 문자열을 만드는 방법은 무엇입니까?

  8. 8

    열이 문자형 벡터에 저장 될 때 cbind ()를 사용하는 방법은 무엇입니까?

  9. 9

    C ++에서 객체 벡터를 올바르게 초기화하는 방법은 무엇입니까?

  10. 10

    c에서 문자열 당 단어와 문장의 수를 계산하는 방법은 무엇입니까?

  11. 11

    for 루프에서 벡터에 문자열을 추가하는 방법은 무엇입니까?

  12. 12

    파일에서 특정 문자열을 가장 잘 제거하는 방법은 무엇입니까?

  13. 13

    C ++의 함수에서 벡터를 반환하는 가장 좋은 방법은 무엇입니까?

  14. 14

    C ++에서 생성자를 사용하여 2D 벡터를 초기화하는 방법은 무엇입니까?

  15. 15

    Java의 문자열에서 가장 긴 문자 시퀀스를 반환하는 방법은 무엇입니까?

  16. 16

    Java로 문자열에서 가장 자주 발생하는 문자를 찾는 방법은 무엇입니까?

  17. 17

    Objective C에서 문자열에 매개 변수를 추가하는 방법은 무엇입니까?

  18. 18

    C ++의 배열에서 ASCII가 아닌 문자를 비교 / 교체하는 방법은 무엇입니까?

  19. 19

    C의 구조 배열에서 단일 요소를 초기화하는 방법은 무엇입니까?

  20. 20

    벡터에 문자열 요소를 넣는 방법은 무엇입니까?

  21. 21

    C의 문자열에서 마지막 문자를 저장하는 방법은 무엇입니까?

  22. 22

    Python C API에서 날짜 문자열을 가장 잘 구문 분석하는 방법은 무엇입니까?

  23. 23

    문자열 벡터에서 2D 배열을 초기화하는 가장 쉬운 방법은 무엇입니까?

  24. 24

    생성자 내부에서 벡터 크기를 초기화하는 방법은 무엇입니까?

  25. 25

    C #에서 문자열의 추가 문자를 제거하는 방법은 무엇입니까?

  26. 26

    가장 우아한 방식으로 C ++의 객체 벡터를 기반으로 포인터 벡터를 초기화하는 방법은 무엇입니까?

  27. 27

    Objective-C의 문자열 배열에서 가장 큰 숫자 값을 찾는 방법은 무엇입니까?

  28. 28

    C ++에서 부울 벡터를 초기화하는 표준 방법은 무엇입니까?

  29. 29

    공장에서 객체를 더 잘 초기화하는 방법은 무엇입니까?

뜨겁다태그

보관