我有一个名为Rectangle的结构:
struct Rectangle {
std::vector<float> m_min;
std::vector<float> m_max;
exType timeOfArrival, timeOfexpiry;
unsigned int id;
};
在函数中,我按值传递一个矩形并将对象保存到DB中。我想返回矩形的指针,以便我可以将它用于函数并将其(指针)保存在向量中。从我从C ++ 11开始阅读的内容来看,没有必要返回一个指针,所以我返回了矩形。这是正确的方法吗?如何指向函数中创建的对象?
我现在就是这样做的:
Rectangle Insert(Rectangle rect){// "Insert" is a function of another class
SaveIntoToDB(rect);// Calls other functions that use reference
return rect;
}
我需要快速的东西,不会在内存中产生重复。
答案 0 :(得分:1)
这会有什么问题?
void Insert(const Rectangle &rect)
{
...
}
被称为
Rect myrect = something...;
Insert(myrect);
doSomething(&myrect); // Do something with pointer to myrect
通常,根据您的问题和代码,您应该在此阶段完全避免使用指针。