理解显式实例化

时间:2015-02-19 05:01:24

标签: c++ templates

我无法理解为什么我们应该使用显式模板实例化。我认为它用于exclitily指定一系列类/功能/变量,这些将在稍后的程序中使用。所以我尝试了以下示例: main.cpp

#include<iostream>
#include "test.h"

using std::cout;
using std::endl;

U<int> u;

int main()
{
        cout << u.a << endl;
}

test.h

template<class T>
class U
{
public:
        int a = 10;
};

Makefile

TARGET := bin

$(TARGET): main.o
        g++ -g -o bin main.o
main.o: main.cpp
        g++ -g -std=c++1y -c main.cpp

clean:
        rm -rf *.o *.exe

尽管没有使用明确的instatiation,这些程序编译,链接和运行良好。难道你不能举例说明明确的实例是必要的吗?

0 个答案:

没有答案