무리스

반응형

[패스트캠퍼스 수강 후기] {C++실력완성} 100% 환급 챌린지 {17} 회차 미션

 

안녕하세요. 무리스입니다.

오늘은 비가 조금 내리는 하루였네요.

매일 3강씩 17회차까지 오니 C++에 대해서도 많이 알아가고 있는걸 느끼네요.

오늘 17회차에서는 49강, 50강, 51강에 대해서 학습 기록을 하겠습니다.

벌써 50번대 강의까지 왔군요. 좀 더 힘을 내보겠습니다.

 

자 49강에서는 함수 - 주소로 전달에 대해서 알아보도록 하겠습니다.

주소라고하면 Pointer를 바로 떠올리셔야 됩니다.

Pointer는 어떤 주소값을 가지고 있는 변수입니다.

Pointer를 사용해서 함수로 전달하는 식을 배워보겠습니다.

 

#include <iostream>

 

using namespace std;

 

int main()

{

   int x = 10;

   int* px = &x;

 

   cout << x << endl;

   cout << *px << endl;

 

   x = 20;

   cout << x << endl;

   cout << *px << endl;

 

   *px = 30;

   cout << x << endl;

   cout << *px << endl;

}

// Pointer에 대해서 잠시 알아봤습니다.

 

void swap(int *px, int *py)

{

   int temp = *px;

   *px = *py;

   *py = temp;

}

 

int main()

{

   int x = 10, y = 20;

   cout << x << endl;

   cout << y << endl;

 

   //swap(&x, &y);

   int* px = &x;

   int* py = &y;

 

   int temp = *px;

   *px = *py;

   *py = temp;

 

   cout << x << endl;

   cout << y << endl;

}

또,

 

void scan(int *i) // *i가 아니라 그냥 i일 경우, 값을 못받지만 *i를 사용할 경우 주소로 넘겨주게 됩니다.

{

    *i = 10;

}

 

int main()

{

   int = 0;

   scan(&num);

 

   cout << num << endl;

}

 

50강에서는 함수 - 참조로 전달에 대해서 배워보겠습니다.

글을 적다보니.. 티스토리에 코드 입력하는 기능이 있었네요.

이때까지 그냥 입력했는데.. 지금부터는 코드 입력으로 작성해보도록 하겠습니다.

#include <iostream>

using namespace std;

void swap(int& px, int& py)
{
   int temp = px;
   px = py;
   py = temp;
}

int main()
{
   int x = 10, y = 20;
   swap(x, y);
   
   cout << x << endl;
   cout << y << endl;
}

// 참조를 이용하여 포인터를 사용하는 것보다 간단하게 작성할 수 있습니다.

 

하나 더 작성해보도록 하겠습니다.

#include <iostream>

using namespace std;

struct Weapon
{
   int price;
   int power;
};

void upgrad(Weapon &pWeapon)
{
   pWeapon.power += 10;
   pWeapon.price += 10;
}

int main()
{
   Weapon weapon{10, 20};
   upgrade(weapon);
   
   cout << weapon.power << endl;
   cout << weapon.price << endl;
}

이런 식으로 작성하는 것을 볼 수 있습니다.

 

다음 51강에서는 함수 - 디폴트 매개변수에 대해서 알아보도록 하겠습니다.

 

#include <iostream>

using namespace std;

int pow(int base, int exp = 2)
{
   int result = 1;
   for (int i = 0; i < exp; ++i)
   {
      result *= base;
   }
   return result;
}

int pow(int base, int exp = 2);

int main()
{
   cout << pow(2) << endl;
}

// 4가 출력되는 것을 확인할 수 있습니다. 디폴트 매겨변수를 지정했습니다.

// 만약 base가 =2로 디폴트 매개변수가 앞에 나올 경우 exp도 exp = 2로 매개변수로 지정해줘야 합니다.

// 앞에 디폴트 매개변수가 나오게 되면 뒤에도 전부 매개변수가 나와줘야 합니다.

 

디폴트 매개변수를 끝으로 17회차 학습 기록은 여기까지 하겠습니다.

오늘도 공부하신다고 고생 많으셨습니다.

오늘은 C++ 강의외적으로 티스토리 코드입력하는 방법에 대해서도 알게 되서 한층 더 발전한 느낌이네요.

 

그럼 하루 잘 마무리하시고 내일 또 찾아뵙겠습니다.

이상입니다.

 

패스트캠퍼스 C++ 강의 링크를 걸어두겠습니다. 참고하세요~
올인원 패키지 : C++ 실력 완성 https://bit.ly/33beaFj

 

C++ 실력 완성 올인원 패키지 Online. | 패스트캠퍼스

선데이토즈, ICON Foundation 출신 Core 개발자가 직접 알려주는 C++의 모든 것. 애니팡 게임을 직접 만들어 보며 어려운 C++의 원리를 이해하고 실무에서 쓸 수 있는 수준까지 만들어 드립니다.

www.fastcampus.co.kr

 

2020/11/17 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {16} 회차 미션

2020/11/16 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {15} 회차 미션

2020/11/15 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {14} 회차 미션

2020/11/14 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {13} 회차 미션

2020/11/13 - [프로그래밍] - [패스트캠퍼스 수강 후기] {C++ 실력완성} 100% 환급 챌린지 {12} 회차 미션

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading