#define
- 매크로 (전처리기)
- 코드 자체를 치환한다.
#define sometype char*
void main()
{
sometype a1, a2;
}
// 코드가 이렇게 변함
void main()
{
char* a1, a2; // a1은 char* , a2는 char
}
typedef
- 타입 재정의 (전처리기 아님)
typedef char* sometype
void main()
{
sometype a1, a2;
}
//이렇게 바뀜
void main()
{
char* a1, *a2; // a1은 char*, a2도 char*
}
- 함수 포인터에도 사용
- 함수 포인터를 자료형으로 사용해서 변수를 만듦.
typedef int (*t_somefunc)(int,int);
int square(int u, int v) { return u*v; }
void main()
{
t_somefunc renamefunc = square;
t_somefunc renamefunc = □ // 초기화 방식 (둘다 가능)
int result = renamefunc(123,123) // 123*123
int result = (*renamefunc)(123,123) // 123*123 (둘다 가능)
}
- 배열에 사용
typedef int THREE[3]
THREE arry = {1, 2, 3}; // int arry[3] = {1, 2, 3}
cout<< arry[0] << endl;
'c, c++ 리마인드' 카테고리의 다른 글
멤버 변수, 동적 할당 배열 크기 구하기 (0) | 2024.04.12 |
---|---|
[c++] typeid, is_base_of (2) | 2024.02.10 |
C++ friend 함수 (0) | 2023.10.31 |
C++ 함수 객체(Functor) 와 함수 포인터 (0) | 2023.10.27 |
C++ new / delete (0) | 2023.10.24 |