StoryCode

'CPP, C++'에 해당되는 글 3건

  1. 문법.for
  2. C++ 학습
  3. 문법.복사생성자 (Copy Constructor).Copy Elision.이동생성자

문법.for

CPP, C++
반응형

 

int aList[3] = {40, 30 ,10}

 

# n 은 auto 지역변수. 값을 0 으로 넣어봐야 auto 지역변수인 n 만 바뀌고 aList 는 안 바뀜.

for ( auto n : aList )     n = 0;

 

# 참조변수 n 이 되서 값이 바뀜.

for ( auto &n : aList ) n = 0;

반응형

'CPP, C++' 카테고리의 다른 글

C++ 학습  (0) 2022.06.22
문법.복사생성자 (Copy Constructor).Copy Elision.이동생성자  (0) 2022.06.22

C++ 학습

CPP, C++
반응형

http://www.tcpschool.com/cpp/intro

반응형

'CPP, C++' 카테고리의 다른 글

문법.for  (0) 2022.06.22
문법.복사생성자 (Copy Constructor).Copy Elision.이동생성자  (0) 2022.06.22

문법.복사생성자 (Copy Constructor).Copy Elision.이동생성자

CPP, C++
반응형
#include <iostream>
 
class A {
    int data_;
 
public:
// #1. 일반생성자 호출
    A(int data) : data_(data) {
        std::cout << "일반 생성자 호출\n";
    }
 
// #2. 복사생성자 호출
    A(const A& rhs) : data_(rhs.data_) {
        std::cout << "복사 생성자 호출\n";
    }

// #3. 이동생성자 호출
    A(const A&& mdata) ........ 
};
 
int main(void) {
// #3
A a(1);

// #4
A b(a);

// #5
A c(A(2));
}

- #3 에서 생성하면 #1 일반생성자 호출되고, #4 에서 변수로 생성하면 #2 복사생성자가 호출된다 .

- 하지만, #5 처럼 호출하면 일반생성자만 호출된다 . 컴파일러 Copy Elision ( -fno-elide-constructors ) 설정문제다 .

반응형

'CPP, C++' 카테고리의 다른 글

문법.for  (0) 2022.06.22
C++ 학습  (0) 2022.06.22