Hi
I am wondering how I should pass vectors to a function that will operate on them. Should I just pass them as is or by &reference? I read somewhere that std::vector is a pointer itself and such does not need to be referenced, is that true? Are there any pro/cons for these methods?
Do I need to use the std::vector::at method for both cases?
//proto
void AddVertex(std::vector<VERTEX>* pNewVertexBuffer, std::vector<short>* pNewIndexBuffer, VERTEX* pNewVertex);
std::vector<VERTEX> NewVertexBuffer;
std::vector<short> NewIndexBuffer;
VERTEX NewVertex = GetVertex(.........);
//Check for duplicates and adds to vertex and index arrays
AddVertex(&NewVertexBuffer, &NewIndexBuffer, &NewVertex);
OR
//proto
void AddVertex(std::vector<VERTEX> NewVertexBuffer, std::vector<short> NewIndexBuffer, VERTEX* pNewVertex);
std::vector<VERTEX> NewVertexBuffer;
std::vector<short> NewIndexBuffer;
VERTEX NewVertex = GetVertex(.........);
//Check for duplicates and adds to vertex and index arrays
AddVertex(NewVertexBuffer, NewIndexBuffer, &NewVertex);