我应该只使用std :: vector吗?

时间:2017-11-16 19:52:48

标签: c++ arrays vector

我创建了一个接收大小未知的数组的函数。 然后我想简单地调用该函数并传入一个具有一定大小的数组,然后获取数组中传递的元素数。

所有这一切都很好,除了当然得到数组中元素的数量,因为似乎没有一种简单的方法来计算它。所以我想知道是否只使用std :: vector代替所有这些?唯一的问题是它感觉有点浪费,因为我不需要std :: vector提供的附加功能。

所以我想知道它是否值得,还是有另一个"更好"做我想做的事情的方式?

1 个答案:

答案 0 :(得分:3)

绝对是的,你应该使用std::vector。 “额外功能”全部免费。 std::vector模板类,因此它甚至不会创建您不使用的函数。此外,函数是微不足道的内联函数,因此它甚至不会生成函数调用,编译器会删除所有内容,因此生成的代码几乎与您手动编写内置动态数组的代码相同。