Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

incrémenter un pointeur de pointeur apres lecture.

4 réponses
Avatar
Etienne
Salut.

dans un code j'ai

int *ptr;
x = *ptr++;

j'aimerai mettre ce code dans une fonction genre

int fct(int **ptr)
{
x = **ptr;
*ptr++;
return x
}

je voudrai savoir quelle est la syntaxe qui permette de faire
l'equivalent de

x = **ptr;
*ptr++;


en une seule ligne !
Merci
Etienne

4 réponses

Avatar
Olivier Miakinen
Bonjour,

Le 24/11/2011 11:59, Etienne a écrit :

dans un code j'ai

int *ptr;
x = *ptr++;



Ce n'est pas très « C++ », ça. C'est plutôt du C.

j'aimerai mettre ce code dans une fonction genre

int fct(int **ptr)



C'est encore moins du C++. ;-)

Pourquoi pas « int fct(int * &ptr) » ?

{
x = **ptr;
*ptr++;



Je suppose que tu voulais dire « (*ptr)++ », non ?

return x
}




Bon, cessons les critiques, je vais répondre à la question posée.

je voudrai savoir quelle est la syntaxe qui permette de faire
l'equivalent de

x = **ptr;
*ptr++;

en une seule ligne !



Facile :
x = **ptr; *ptr++;

:-D
Avatar
Pascal J. Bourguignon
Olivier Miakinen <om+ writes:

je voudrai savoir quelle est la syntaxe qui permette de faire
l'equivalent de

x = **ptr;
*ptr++;

en une seule ligne !



Facile :
x = **ptr; *ptr++;



Tu joue sur les mots. Évidement, l'OP voulait dire, en une seule
instruction:

(x = **ptr), *ptr++;


--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Avatar
Marc Boyer
Le 24-11-2011, Etienne a écrit :

int *ptr;
x = *ptr++;

j'aimerai mettre ce code dans une fonction genre

int fct(int **ptr)
{
x = **ptr;
*ptr++;
return x
}

je voudrai savoir quelle est la syntaxe qui permette de faire
l'equivalent de

x = **ptr;
*ptr++;



x = *(*ptr++); ??

M'enfin bon, quitte à faire illisible, pourquoi pas rajouter un void* et
un memcpy tant qu'on y est
memcpy( (void*)&x , *ptr++ , sizeof( int ) );

Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
Avatar
Jean-Marc Bourguet
Marc Boyer writes:

Le 24-11-2011, Etienne a écrit :

int *ptr;
x = *ptr++;

j'aimerai mettre ce code dans une fonction genre

int fct(int **ptr)
{
x = **ptr;
*ptr++;





Plutot (*ptr)++, ce que tu ecris est equivalent a *(ptr++)

return x
}

je voudrai savoir quelle est la syntaxe qui permette de faire
l'equivalent de

x = **ptr;
*ptr++;



x = *(*ptr++); ??

M'enfin bon, quitte à faire illisible,



x = *(*ptr)++;

Vive les references...

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index. html
Site de usenet-fr: http://www.usenet-fr.news.eu.org