任何人都可以解释一下,矢量类的用途是什么?我的教授在讲座中提到了下面的句子。 模板:每个向量都有一个类参数,用于确定该实例将使用哪种对象类型,通常称为T.我不明白类参数究竟是什么意思?
答案 0 :(得分:13)
C ++中的vector
类型本质上是一个动态数组。 class参数是vector
中元素的类型。例如
int arr[]; // Static C++ array with int elements
vector<int> v; // dynamic array with int elements
在此示例中,int
是类参数类型。
修改强>
正如一些评论指出,老师选择“课堂参数”会产生误导。说“模板参数”更正确。
答案 1 :(得分:2)
矢量被定义为模板,如:
template<typename T>
class Vector;
要使用它,您需要实例化模板,如:
Vector<char> myVector;
实例化矢量有效地创建了一个新类。这相当于如果你用类参数替换模板定义中的每一个T都会得到的结果(在本例中为char)
所以,如果我们有一个简单的模板
template<typename T>
class DataHolder{
public:
T data
}
实例化如下:
DataHolder<char> myChar;
相当于班级:
class DataHolder
{
public:
char data;
}
答案 2 :(得分:1)
一个例子:
std::vector<int> v;
这声明vector
(动态数组)int
个元素。最初它包含零元素的空间。
Web包含许多有关基本C ++的资源。有关STL vector
的更多信息,请参阅this page。
答案 3 :(得分:0)