Bonjour a tous !
j'ai un soucis de compréhension au niveau des objets en c++... Je suis plus habitué au java, et c'est ma premiere en c++, alors peut-etre que ma question va paraitre simple en fait ^^
Juste pour replacer le contexte : je travaille avec memcached, une librairie en développée en C qui permet d'utiliser un serveur de mémoire cache (qui se comporte comme une table de hachage). Les prototypes des deux fonctions principales sont les suivants :
les objets stockés sont passés en paramètre sous forme de pointeurs de chaines de caractères (cast).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 memcached_return_c rc = memcached_set(..., char* key, size_t key_length, char* value, size_t value_length, ...) char * value = memcached_get(..., char* key, size_t key_length, size_t * value_length, ...)
Seulement voila... Certains objets contiennent eux-même des attributs, etc, qui sont soit des pointeurs, soit autre chose, et la memcached memcached_set stocke tout, donc même les pointeurs, sans s'occuper de ce qui est pointé par le pointeur.
Tout ca pour en venir a ma petite question ^^
Quand je déclare un objet par exemple avec :
ou bien quand j’accède a un attribut d'une classe (qui est protected, ou via un getter),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonObject c = new MonObject() std::string c ("blabla")
qu'est-ce que j'obtiens ? un pointeur, ou autre chose ? comment est représenté la memoire : est-ce que je dois faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonObject c = monInstance.getter() MonObject c = monInstance.parametrepour pouvoir accéder a la zone mémoire qui contient effectivement l’objet lui-même ? Et est-ce la même chose pour les objets string ? Tout ça est un peu confus pour moi qui habituellement fait du java, je ne suis pas sur de faire la différence (au niveau de la gestion de la memoire) lorsqu’on utilise un struct et lorsqu'on utilise un objet ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part *c
merci a vous
Partager