1. 程式人生 > >利用typename使用模板型別引數來定義模板型別中的型別的變數

利用typename使用模板型別引數來定義模板型別中的型別的變數

直接上程式碼。

#include <iostream>

template<typename T>
void PrintStlContainer(T const& coll)
{
	typename T::const_iterator pos;                 //要使用模板引數中定義得型別,必須使用typename
	typename T::const_iterator end(coll.end());

	for (pos = coll.begin(); pos != end; pos++)
	{
		std::cout << *pos << " ";
	}

	std::cout << std::endl;
}

測試程式碼:

#include "inc.hpp"
#include <vector>

using namespace std;

int main(int argc, char **argv)
{
	vector<int> list{1, 2, 3, 4, 5};

	PrintStlContainer(list);

	return 0;
}

輸出結果:

1 2 3 4 5