c++에서의 struct
2019. 8. 24. 18:20ㆍPL/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 |