Ciao.
Devo assolutamente chiarirmi le idee sui puntatori e le variabili
Ho una funzone del tipo:

codice:
void CImporter::ImportVertex(CSubMeshData * subMesh)
{
	//chiamo la funzione di reset dei vertici
	m_pApi->VertexReset();
	float x,y,z;
	//finchè il reader mi restituisce true ho un vertice da importare
	//esco quando non ci sono piu' vertici
	
	for(int index = 0;m_pApi->NextVertex();index++)
	{	
		tagPositionXYZ* pos = new tagPositionXYZ();
		if(m_pApi->ImportVertex(&x,&y,&z))
		{
			pos->x = x;
			pos->y = z;
			pos->z = -y;
			
			subMesh.m_VertexBuffer.push_back(pos);			
		
		}
	}
}
questa riempie un vector di puntatori tagPositionXYZ,e quando esco dalla funzione mi conserva i dati del vector
codice:
std::vector<tagPositionXYZ> CImporter::ImportVertex(CSubMeshData  subMesh)
{
	//chiamo la funzione di reset dei vertici
	m_pApi->VertexReset();
	float x,y,z;
	//finchè il reader mi restituisce true ho un vertice da importare
	//esco quando non ci sono piu' vertici
	
	for(int index = 0;m_pApi->NextVertex();index++)
	{	
		tagPositionXYZ pos ;
		if(m_pApi->ImportVertex(&x,&y,&z))
		{
			pos.x = x;
			pos.y = z;
			pos.z = -y;
			
			subMesh.m_VertexBuffer.push_back(pos);			
		
		}
	}
	return subMesh.m_VertexBuffer;
}
questa riempie un vector di tagPositionXYZ e quando esco dalla funzione mi ritorna il vector, riempito se aggiungo la clausola return xxxx.


Al lavoro mi hanno consigliato di utilizzare dove si puo' una variabile , anche perchè non necessita di distruzione e posso sempre passarla come puntatore con &variabile.

Il problema è che se ho creato nel 2° modo un vector di variabili ed esco dalla funzione o dalla classe senza il return <vector di var> perdo i dati giusto?
quindi devo stare attento alla visibilità.
quindi quando mi consigliate di utilizzare dei puntatori e quando le variabili , in questo e in altri casi.

Grazie