c++에서의 struct

2019. 8. 24. 18:20PL/C++

1. typedef를 생략할 수 있다. typedef로 재정의하지 않고 본연의 struct 이름을 자료형으로 사용할 수 있다

2. struct 안에 함수를 정의할 수 있다. struct 안의 함수는 기본적으로 inline 처리가 된다. 따라서 외부에다가 선언을 할 때는 반드시 inline 속성을 적용하려면 inline을 붙여줘야만 한다. class에서도 마찬가지로 적용된다

3. 구조체 안에서 사용하는 상수는 enum 혹은 이름 공간으로 처리한다

 

#include <iostream>

using namespace std;

namespace SIMPLE_CONST {
	enum {
		SIZE = 10
	};
}

struct Simple {
	enum {
		SIZE = 10
	};

	int num;
	void showNum() {
		cout << num << '\n';
	}
};

int main(void) {
	Simple s1;
	s1.num = 3;
	s1.showNum();
	cout << s1.SIZE << '\n';
	cout << SIMPLE_CONST::SIZE << '\n';
	return 0;
}

 

 

 

 

'PL > C++' 카테고리의 다른 글

const 키워드 오버로딩  (0) 2019.08.24
복사 생성자 호출 시점  (0) 2019.08.24
연산자 오버로딩과 관련한 카페 질문  (0) 2019.08.23
클래스 템플릿을 헤더파일에 작성해야 하는 이유  (0) 2019.08.23
const 정리  (0) 2019.08.23