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

randomtrekker

나는 C ++에 상당히 익숙하고 객체의 벡터를 만들고 그 멤버를 초기화하려고 시도하고 있지만 올바르게 수행하고 있는지 확실하지 않은 비트가 있습니다.

 vector<Card> cardStorage;
   for (int i = 0; i < 20; i++) {
         Card card;
         
         cardStorage.push_back(card);
     
     }

기본적으로 이것은 Card 클래스의 20 개 객체의 벡터이며 push_back은 참조로 전달되는 Card & 유형을 취합니다. 따라서 이렇게하면 20 개의 서로 다른 Card 개체의 벡터가 생성되는지 또는 벡터의 20 개 구성원 모두가 하나의 개체를 가리킬 지 확실하지 않습니다.이 벡터를 조작하기 위해이 벡터를 통과해야하기 때문에 원하는 것이 아닙니다. 개체 데이터 멤버 (명백하게 나쁜 습관이기 때문에 Card 클래스의 20 개 개체를 생성하여 벡터로 푸시하고 싶지도 않습니다).

Cigien

push_backon a vector인수가 l- 값 (이름이있는 개체) 인 경우 전달 된 인수 복사본만듭니다 . 그래서 cardStorage20 별개이 보장 Card각이 있기 때문에, 루프가 실행 된 후에 개체를 Card에 복사됩니다 vector.

emplace_back불필요하게 Cards를에 복사하는 것을 방지하기 위해를 사용 하는 것을 고려할 수 vector있지만 다음과 같이 간단하게 수행 할 수도 있습니다.

vector<Card> cardStorage(20);

표시된 코드와 동일한 효과를 얻습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ 11에서 데이터 멤버를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

커서를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

파이썬 객체를 올바르게 다시 초기화하는 방법은 무엇입니까?

분류에서Dev

Javascript 객체 내에서 (함수 || 함수)를 올바르게 정의하는 방법은 무엇입니까?

분류에서Dev

mongo에서 다른 객체를 올바르게 참조하는 방법은 무엇입니까?

분류에서Dev

Java의 List에 객체를 올바르게 삽입하는 방법은 무엇입니까?

분류에서Dev

ListIterator (역방향) 반복 중에 객체를 올바르게 추가하는 방법은 무엇입니까?

분류에서Dev

AWS S3에 객체를 올바르게 업로드하는 방법은 무엇입니까?

분류에서Dev

C ++에서 정적 클래스 객체를 초기화하는 방법은 무엇입니까?

분류에서Dev

C ++에서 반복기 만 사용하여 3D 벡터를 올바르게 반복하는 방법은 무엇입니까?

분류에서Dev

생성자에서 초기화를 올바르게 관리하는 방법은 무엇입니까?

분류에서Dev

Swift에서 UnsafePointer를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

C에서 함수 포인터를 포함하는 구조체를 만들고 초기화하는 올바른 방법은 무엇입니까?

분류에서Dev

ggplot 객체를 올바르게 반복하는 방법은 무엇입니까?

분류에서Dev

JSON 객체를 올바르게 반복하는 방법은 무엇입니까?

분류에서Dev

ApplicationListener에서 autowire 객체를 초기화하는 방법은 무엇입니까?

분류에서Dev

구조체에서 포인터를 올바르게 사용하는 방법은 무엇입니까?

분류에서Dev

Rust에서 C 함수 포인터를 올바르게 래핑하는 방법은 무엇입니까?

분류에서Dev

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

분류에서Dev

sympyfied expression에서 기호를 올바르게 대체하는 방법은 무엇입니까?

분류에서Dev

Fortran에서 개체를 올바르게 마무리하는 방법은 무엇입니까?

분류에서Dev

C #에서 핸들러 메서드를 올바르게 호출하는 방법은 무엇입니까?

분류에서Dev

C ++에서 QML 객체를 업데이트하는 올바른 방법은 무엇입니까?

분류에서Dev

지도를 올바르게 초기화하는 방법은 무엇입니까?

분류에서Dev

Doxygen : 80 자 제한으로 C 구조체 멤버 변수를 올바르게 문서화하는 방법은 무엇입니까?

분류에서Dev

Flambe에서 개체를 올바르게 처리하는 방법은 무엇입니까?

분류에서Dev

개체 []에 대한 ReadJson 메서드를 올바르게 재정의하는 방법은 무엇입니까?

분류에서Dev

c에서 strcpy를 올바르게 구현하는 방법은 무엇입니까?

분류에서Dev

C #에서 TextBox를 올바르게 확인하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    C ++ 11에서 데이터 멤버를 올바르게 초기화하는 방법은 무엇입니까?

  2. 2

    커서를 올바르게 초기화하는 방법은 무엇입니까?

  3. 3

    파이썬 객체를 올바르게 다시 초기화하는 방법은 무엇입니까?

  4. 4

    Javascript 객체 내에서 (함수 || 함수)를 올바르게 정의하는 방법은 무엇입니까?

  5. 5

    mongo에서 다른 객체를 올바르게 참조하는 방법은 무엇입니까?

  6. 6

    Java의 List에 객체를 올바르게 삽입하는 방법은 무엇입니까?

  7. 7

    ListIterator (역방향) 반복 중에 객체를 올바르게 추가하는 방법은 무엇입니까?

  8. 8

    AWS S3에 객체를 올바르게 업로드하는 방법은 무엇입니까?

  9. 9

    C ++에서 정적 클래스 객체를 초기화하는 방법은 무엇입니까?

  10. 10

    C ++에서 반복기 만 사용하여 3D 벡터를 올바르게 반복하는 방법은 무엇입니까?

  11. 11

    생성자에서 초기화를 올바르게 관리하는 방법은 무엇입니까?

  12. 12

    Swift에서 UnsafePointer를 올바르게 초기화하는 방법은 무엇입니까?

  13. 13

    C에서 함수 포인터를 포함하는 구조체를 만들고 초기화하는 올바른 방법은 무엇입니까?

  14. 14

    ggplot 객체를 올바르게 반복하는 방법은 무엇입니까?

  15. 15

    JSON 객체를 올바르게 반복하는 방법은 무엇입니까?

  16. 16

    ApplicationListener에서 autowire 객체를 초기화하는 방법은 무엇입니까?

  17. 17

    구조체에서 포인터를 올바르게 사용하는 방법은 무엇입니까?

  18. 18

    Rust에서 C 함수 포인터를 올바르게 래핑하는 방법은 무엇입니까?

  19. 19

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

  20. 20

    sympyfied expression에서 기호를 올바르게 대체하는 방법은 무엇입니까?

  21. 21

    Fortran에서 개체를 올바르게 마무리하는 방법은 무엇입니까?

  22. 22

    C #에서 핸들러 메서드를 올바르게 호출하는 방법은 무엇입니까?

  23. 23

    C ++에서 QML 객체를 업데이트하는 올바른 방법은 무엇입니까?

  24. 24

    지도를 올바르게 초기화하는 방법은 무엇입니까?

  25. 25

    Doxygen : 80 자 제한으로 C 구조체 멤버 변수를 올바르게 문서화하는 방법은 무엇입니까?

  26. 26

    Flambe에서 개체를 올바르게 처리하는 방법은 무엇입니까?

  27. 27

    개체 []에 대한 ReadJson 메서드를 올바르게 재정의하는 방법은 무엇입니까?

  28. 28

    c에서 strcpy를 올바르게 구현하는 방법은 무엇입니까?

  29. 29

    C #에서 TextBox를 올바르게 확인하는 방법은 무엇입니까?

뜨겁다태그

보관