ras*_*435 1 c++ arrays visual-c++ c++11
我想知道如何原型化一个返回数组的函数,该数组也接受一个数组.在对数组进行原型设计之后,我该如何实现它
它是否正确?
coffee* getData(*coffe);
int main() {
coffee cf[256];
coffee FinalCoffee[256];
FinalCoffee=getData(cf);
}
coffee getData(coffee objcf[]) {
for(int i=0;i<SIZE;i++) {
objcf[i].brand="nescafe";
}
return coffee;
}
Run Code Online (Sandbox Code Playgroud)
Plsease就此提出建议.我需要能够返回数组,以便我可以将更新的数组传递给另一个函数来处理它.
您的代码甚至没有匹配的声明和函数定义.这不起作用.
但以下是:
std::vector<coffee> getData(std::vector<coffee> const& objs) {
std::vector<coffee> result;
// Do something to fill result
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果在您的示例中,您想要操作原始数组,而不是返回一个新数组,那么根本没有返回值更有意义,并将该参数作为非const引用传递:
void manipulateData(std::vector<coffee>& objs) {
for (auto& obj : objs)
obj.brand = "nescafe";
}
Run Code Online (Sandbox Code Playgroud)
根据经验,尽量避免C数组支持C++标准库容器.这将使您的生活更加轻松.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |