我一直在四处寻找这一个,而这个共同的反应似乎是沿着线"他们是不相关的,而一个不能代替其他".但是你说你正在接受采访并被问到"你何时会使用模板而不是继承,反之亦然?"
我已经在网上看了几次,提到使用模板可以更快地使用C++.
有人可以解释,包括在低级别为什么这是确切的?我总是认为这样一个"好"的功能会像大多数有用的概念一样有开销.
从超低延迟的角度来看,我对此非常感兴趣!
这个问题在stackoverflow.com/q/2391679上进行
功能的一个典型例子virtual是
class Shape
{
public:
virtual string draw() = 0;
};
class Circle : public Shape
{
public:
string draw() { return "Round"; }
};
class Rectangle : public Shape
{
public:
string draw() { return "Flat"; }
};
void print (Shape& obj)
{
cout << obj.draw();
}
Run Code Online (Sandbox Code Playgroud)
但是,我们可以auto在C++ 14中传递一个参数
class Circle
{
public:
string draw() { return "Round"; }
};
class Rectangle
{
public:
string draw() { return "Flat"; }
};
void print …Run Code Online (Sandbox Code Playgroud) 除了简化的通用算法之外,模板在类层次结构上是否有任何好处?例如,在类层次结构中使用模板是否更有效?模板受到程序员对金融工具的高度赞扬,但我并不理解为什么.