大家好,我明天要参加CS考试。只是想弄清楚几个问题。非常感谢,非常感谢您的帮助。
问题 1。 什么是平行 vector ?
- 包含要一起处理的数据的相同长度的 vector
- 都是相同数据类型的 vector
- 相同长度的 vector
- 任何并行数据类型的 vector
问题 2。 数组比 vector 更快、更高效。
- 正确
- 错误
问题 3。 数组可以是函数调用的返回类型。
- 正确
- 错误
问题 4。 vector 可以是函数调用的返回类型。
- 正确
- 错误
最佳答案
问题一
“平行 vector ”这个术语是不规范的……(对我来说,这意味着它们的方向的点积是 1!),所以你需要看看你的笔记,看看老师自己的“平行”是什么意思"是。
问题2
这是一个棘手的问题。数组构造(没有初始化的原语)比 vector 构造更快更有效(因为 vector 将初始化它们的内容)。但是,如果您只是通过常量引用传递 vector 并使用下标运算符访问它们的内容,那么效率没有差异(这些下标操作是内联的并且不执行任何边界检查)。最好问问你的老师,因为这可以说不是可以作为真/假问题提出的问题。
问题3
看起来,您的老师真的很喜欢技巧性问题。不,您不能从函数返回固定大小的数组;但是,您可以返回一个数组作为指向堆分配数组第一个元素的指针。很可能你的老师打算让这个问题的答案是错误的,但细微差别很重要。
问题4
真的。这是此列表中唯一的微不足道的问题。
关于c++ - 关于C++ vector 和数组的一些考题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2711343/