, . template, i_ . , , , . , .
template<unsigned i_>
void doSomething() {
static int a = 0;
std::cout << a++ << std::endl;
}
:
doSomething<1>();
doSomething<1>();
doSomething<1>();
doSomething<2>();
:
0
1
2
0
. 2D- .
template<unsigned n>
void doSomething(int (*array)[n]) {
}
, , , . :
void doSomething(unsigned i_) {
static int a = 0;
std::cout << i_ << " " << a++ << '\n';
}
:
doSomething(1);
doSomething(1);
doSomething(1);
doSomething(2);
:
1 0
1 1
1 2
2 3
:
void doSomething(int (*array)[5]) {
}
nx5 ( n - ), . .
: , , , .