我最近遇到了这样的事情:
class X {
public: void foo(float* p, int elements);
};
= 一个需要浮点值数组的方法。
但在示例代码中,这是他们使用它的方式:
std::vector<float> bar;
bar.push_back(42);
// ...
X x;
x.foo( &bar[0], (int)bar.size() );
现在我想知道这是一种安全的方法还是恰好适用于大多数实现std::vector
?(也许这是一个运算符重载的事情?我对这些东西还没有那么自信..)