Yxd:
奇技淫巧一把。。。。动态多维数组分配。。。
[阅读: 416] 2004-10-15 04:01:24
#include "stdafx.h"
#include <iostream>
using namespace std;
template < class T, unsigned int dimensions > struct Array;
template < class T >
struct Array< T, 1 >
{
typedef T* Result;
Result operator()( unsigned int nSize )
{
return new T[nSize];
}
};
template < class T, unsigned int dimensions >
struct Array< T, dimensions >
{
private:
typedef typename Array< T, dimensions - 1 >::Result Temp;
public:
typedef Temp* Result;
Result operator()( unsigned int nSize )
{
return new Temp[nSize];
}
};
void Test( int argc, _TCHAR* argv[] )
{
}
int _tmain(int argc, _TCHAR* argv[])
{
_TCHAR** pTest = Array< _TCHAR, 2 >()( 4 );
for ( int n = 0; n < 4; ++ n )
{
pTest[n] = Array< _TCHAR, 1 >()( 32 );
_stprintf( pTest[n], _T("%d"), n );
}
for ( int n = 0; n < 4; ++ n )
{
cout << pTest[n] << endl;
}
return 0;
}