비관리코드에서 로그 기능을 구현할 때 주로 가변 길이 인수를 사용합니다.
void LOG( char* szText, ... )
{
}
위와 같은 가변 길이 인수를 C++/CLI에서는 parameter array라는 것으로 구현합니다.
void LOG( … array<Object^>^ Values )
{
for each( Object^ value in Values )
{
….
}
}
int main()
{
LOG( 23 );
LOG( 2, 1, “error” );
return 0;
}
parameter array를 사용하면 이전 보다 안전하고, 하나의 형이 아닌 다양한 형을 인자로 받아 들일 수 있어서 유연성이 높습니다.
그러나 하나의 함수에서 parameter array는 하나 밖에 사용하지 못합니다. 하지만 parameter array가 아닌 형이라면 여러 개 사용할 수 있습니다. 다만 이 때는 parameter array는 가장 마지막 인수가 되어야 합니다.
void LOG( int nLogLevel, … array<Object^>^ Values )
{
}
참고
http://cppcli.shacknet.nu/cli:parameter_array
'C++/CLI' 카테고리의 다른 글
[Step. 14] 인터페이스 ( interface ) (1) | 2010.10.01 |
---|---|
[Step. 15] static 생성자, initonly, literal (1) | 2010.09.24 |
[Step. 12] for each (1) | 2010.09.03 |
[Step. 11] 열거형( enum ) (2) | 2010.08.27 |
[Step. 10] 이벤트 ( event ) (0) | 2010.08.20 |