무리스

반응형

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

 

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

이번 한 주도 벌써 주말전 금요일이네요.

오늘도 역시 불금이니 퇴근하고 후딱 인강 먼저 봤습니다.

 

12회차는 34, 35, 36강을 배웠습니다.

 

그럼 34강에서는 복합 데이터 공용체에 대해 배웠습니다.

만약에 특정 변수에 대해서 값은 하나만 필요한데 그 하나의 값이 여러 개의 자료형일 경우에는 

어떻게 표현해야할까요? 예를 들어 어떤 제품의 아이디가 정수형이 될 수도 있고 문자형이 될 수 도 있죠.

이럴 경우에는 공용체를 이용해야합니다.

 

int main()

{

   struct Product

   {

      int idType;

      int idInteger;

      char idChars[10];

   };

 

   union ID

   {

      int integer;

      char chars[10];

   };

 

   struct Product1

   {

      int idType;

      ID id;

   };

 

   Product0 product0 = { 0, 12 );

   if (product0.idType == 0)

       cout << product0.idInteger << endl;

   else

       cout << product0.idChars << endl;

 

   cout << sizeof(Product0) << endl;

   cout << sizeof(Product1) << endl;

}

// 출력하시면 사진과 같은 값이 나오게 됩니다.

살짝 긴 문장이지만 한번 직접 따라서 연습해보시는 걸 추천드립니다.

 

35강은 복합 데이터 열거형에 대해서 알아보겠습니다.

저희가 평소에 워드나 파워포인트에서 색상을 설정할 때 0~255의 값 중 선택해서 설정을 하게 됩니다.

그거에 대해서 한번 작성해 보겠습니다.

 

 enum Color

 {

     Red, Green, Blue

 };

 

 struct ColorStruct

 {

    int red;

    int green;

    int blue;

 };

 

int main()

{

   // 0 :  Red, 1 : Green, 2 : Blue

   int colors[3] = { 255, 128, 128 }

 

   cout << "Red : " << colors[Red] << endl;

   cout << "Green : " << colors[Green] << endl;

   cout << "Blue : " << colors[Blue] << endl;

   int avg0 = (colors[Red] + colors[Green] + colors[Blue]) / 3;

   cout << avg0 << endl;

 

   ColorStruct cs = { 255, 128, 64 };

   int avg1 = (c.red + cs.green + cs.blue) / 3;

   cout << avg1 << endl;

}

// 이번 문장도 굉장히 길게 작성한 것처럼 느껴지네요.

사실 열거형도 크게 다르지 않습니다.

36강에서는 복합 데이터 std:array 입니다.

std::array 같은 경우는 처음에

 

#include <iostream>

#include <array>

 

using namespce std;

 

int main()

{

   array<int, 1000> arr{1, 2, 3};

   cout << arr[0] << endl;

   cout << arr[1] << endl;

   cout << arr[2] << endl;

   cout << arr[3] << endl;

   cout << arr[100] << endl;

}

// 이렇게 작성해볼 수도 있습니다.

 

위에 std::array문도 한번 작성해보세요.

값이 사진처럼 나오나요 ?

 

자 오늘도 불금이라 그런가 강의 내용이 크게 길지 않았습니다.

아주 만족스럽게 공부를 하게 됐습니다.

여러분도 오늘 자신이 목표한 공부를 끝내고 주말을 잘 즐기시길 바랍니다.

 

이상입니다.

 

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

 

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

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

www.fastcampus.co.kr

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading