typedef map<int, double> SparseRow;
template <int N> struct SparseMatrix
{
map<int, SparseRow> data;
};
const int N = 5;
SparseMatrix<N> sparseMat;
여기서 템플릿 유형 N이 어떻게 사용되는지 혼란 스럽습니까? 아무도 왜이지도를 고정 크기로 만드는지 설명 할 수 있습니까?고정 크기지도를 만들 때 템플릿을 어떻게 사용합니까?
/////////////////////////////////////
편집
이 인쇄 기능과
print(sparseMat);
template <int N>
void print(SparseMatrix<N>& sm)
{
SparseRow sr;
SparseRow::const iterator it;
for (int row = 0; row < N; row++)
{
SparseRow sr = sm.data[row];
// Now iterate over row
for (it = sm.data[row].begin(); it != sm.data[row].end();
it++)
{
cout << (*it).second << ", ";
}
cout << endl;
}
}
를 호출하면 어떻게 값이 N 함수에 전달됩니까되고, 만약이 아니 함수 호출에? SparseMatrix의 인스턴스가 5를 가정하는 것과 같은 값을 저장하는 방법에 대해 혼란 스럽습니다.
매개 변수 N은 표시된 코드에서 사용되지 않습니다. – interjay
지도가 고정 된 크기로 된 이유는 무엇입니까? –
그게 뭐라고 생각하니? – interjay