J'ai quelques questions de base sur la conception/syntaxe C++ et j'apprécierais votre réponse.Utilisation d'une structure de données vectorielles - questions de conception et de syntaxe
- Je N nombre de régions
- Chaque région doit stocker des informations sur un objet « élément »
-à-dire que je veux réaliser quelque chose comme ceci:
region[i].elements
= liste des tous les éléments pour la région i.
Question 1: La syntaxe suivante (voir le code ci-dessous)/conception semble correcte. Est-ce que je manque quelque chose ici?
EDIT
Les instances de élém struct sont créés par une autre classe et sa désaffectation mémoire est poignées par cette classe que je veux juste accéder à cet objet et de ses membres en utilisant reg [i] .elements list (vector) ... alors, comment dois-je ajouter ces objets élément au vecteur "elements" dans la classe Region?
// Déjà cette stucture que je dois utiliser
struct elemt {
int* vertex;
int foo1;
double foo2;
};
class Region{
public:
// I am not sure what should be the syntax here!
// is it correct?
std::vector <elemt*> elements;
}
// Following is the constructor of "class A"
A::A(){
// --header file defines: Region *reg;
// Let numOfRegions be a class variable. (changes based on "Mac"'s suggestion)
numOfRegions = 100;
//allocate memory:
reg = new Region[numOfRegions];
}
A::~A(){
delete [] reg;
reg = NULL;
}
A::doSomething(){
// here I want to append the elements to the vector
// Let i be region 10.
// Let e1 be an element of "struct elemt" that needs to be added
reg[i].elements.push_back(e1);
}
Question 2: Est-ce la syntaxe correcte doSomething()
? Plus tard, je veux lancer un itérateur sur tous les éléments dans reg[i]
et que vous voulez accéder, e1->foo1, e1->foo2
et comme ça.
Question 3: Vouz méthode de quelque chose, comment puis-je assurer que e1 est pas déjà dans les « éléments »
MISE À JOUR
Correction de quelques erreurs de syntaxe, et nous espérons que fixe fuite de mémoire remarqué par l'utilisateur 'Mac. '
Où est la question 1? :-) –
désolé je ne l'ai pas fait 'gras' .. le fera :-) Question 1: Est-ce que la syntaxe/conception suivante semble correcte. Est-ce que je manque quelque chose ici? – memC
btw, pour la vérification de syntaxe, vous avez un gourou assis directement dans votre ordinateur: le compilateur! –