자료형을 불러올때 별명(가명) 붙여주기
typedef,using을 이용한다
예를 들어 자료형 double중에 거리에 사용되는 double형을
별명을 붙여 사용한다면 공통으로 사용된 자료형을 관리하기 쉽다.
또 복잡한 자료형에 사용하면 보기 좋고 사용하기도 좋다.
#include <iostream>
#include <cstdint>
#include <vector>
using namespace std;
int main()
{
typedef double distance_t;
//고정너비 변수
std::int8_t i(97);
//컴파일러입장에선 같다.
double distance;
distance_t distance2;
//vector<pair<string, int>> 를 줄여사용하기
typedef vector<pair<string, int>> pairlist_t;
//using사용
using pairlist_t1 = vector<pair<string, int>>;
return 0;
}
구조체struct
하나의 자료형으로 복잡한것(사람정보)을 구현하기 어렵다.
구조체를 이용해 하나의 사용자 정의 자료형으로 구현할 수 있다.
여러정보집합의 다수개의 정보를 저장할때도 구조체가 좋다.
구조체안에 함수를 구현할 수 있다.
구조체안에 구조체를 구현할 수도 있다.
구조체 대입,구조체 반환값도 가능하다.
sizeof로 사용Byte를 알수 있다(정확하진않고 조금더 추가될 수 있다).
#include <iostream>
#include <string>
using namespace std;
struct Person
{
int id;
double height;
float weight;
int age;
//기본값 정의도 가능하다.
string name = "me";
//구조체안 함수 구현
void printPersonInfo()
{
cout << height << endl;
cout << weight << endl;
cout << age << endl;
cout << name << endl;
}
};
void printPersonInfo(Person p)
{
cout << p.height << endl;
cout << p.weight << endl;
cout << p.age << endl;
cout << p.name << endl;
}
int main()
{
//사람1정보구현
double height;
float weight;
int age;
string name;
//사람2정보구현
double height2;
float weight2;
int age2;
string name2;
//구조체구현이 훨씬 간단하다.
Person person1{1, 2.0,100.0,20,"me" };
Person person2{2, 2.0,100.0,20,"you" };
//구조체로 묶여있어 인자로 보내기도 편하다.
printPersonInfo(person1);
//구조체안에 함수 구현 출력하기
person1.printPersonInfo();
//구조체 대입하기
Person copyP = person1;
cout << &person1 << " copyP addr : " << ©P << endl;
//사용Byte알아오기
cout << sizeof(copyP) << endl;
return 0;
}
'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글
c++ 조건문 switch-case, goto문 (0) | 2019.07.11 |
---|---|
c++ 제어흐름종류,중단 Halt,조건문 if (0) | 2019.07.10 |
c++ enum열거형,enum class영역제한 열거형 (0) | 2019.07.09 |
c++ 문자열,string (0) | 2019.07.08 |
c++ 암시적형변환,명시적형변환 (0) | 2019.07.05 |