第一个c++泛型函数(即模板)

先定义如下:

ns.h

template <typename T>   // 这个关键字typename, 明显多此一举
inline void PRINT_ELEMENTS(const T& coll,const std::string& optstr="")
{
    std::cout << optstr << endl;
    for(const auto& ele:coll) {
        std::cout << ele << ' ';
    }
    std::cout << std::endl;
}
#include "ns.h"
using namespace std;
#define GUID_LEN 64
int _tmain(int argc, _TCHAR* argv[])
{
    vector<string> vf;
    vf.push_back("one");
    PRINT_ELEMENTS(vf,"cpp first template");
}

输出如下:

cpp first template
one

 

posted @ 2017-01-25 16:30  zhjh256  阅读(139)  评论(0编辑  收藏  举报