一、判断题
1、pair类模板的作用是将两个数据组成一个数据,用来表示一个二元组或一个元素对,两个数据可以是同一个类型也可以是不同的类型。
T F
解析:T。"Pair 类模板" 是一种用于将两个数据项组合成一个数据结构的模板。它通常被用来表示一个包含两个元素的有序对(或二元组),这两个元素可以是相同类型的,也可以是不同类型的。
二、选择题
1、现有声明:
template
class Test{...};
则以下哪一个声明不可能正确。
A.Test a; B.Test < int> a; C.Test < float> a; D.Test< Test < int> > a;
解析:A。我们所定义的 Test
类模板需要一个模板参数,故为A缺少模板参数而错误。
2、Given:
template < class T >
void swap( T& x, T& y ) {
T temp = x;
x = y;
y = temp;
}
int i,j;
float f,m;
Which statement is incorrect?
A.swap(i,j); B.swap(j,i); C.swap(f,m) D.swap(i,f);
解析:D。它试图交换 i
和 f
的值,但是 i
是 int
类型,而 f
是 float
类型。swap
函数被定义为在同一类型 T
的参数之间进行交换,但在这种情况下,类型不同(int
和 float
),所以编译会失败。
3、Given:
void f(int i) { cout << "Func1" << endl; }
template<class T>
void f(T t) { cout << "Func2" << endl; }
main() {
f(2);
}
The result is :
A.Func1 B.Func2 C.nothing D.undetermined
解析:A。在这个代码中,有两个名为 f
的函数被定义了:1.void f(int i)
: 这个函数接受一个 int
类型的参数,并输出 "Func1"。2.template<class T> v