Vers C++ venant
de C et de Java
Adrien Poteaux et
Alexandre
Sedoglavic
Introduction
De C vers C++
Pointeurs et
ef´erences
Espaces de noms
Programmation
en´eriques
Les fondements
implant´es
Outils standards
Outils de calcul
niveau processeur
Exemples :
structures
alg`ebriques
Sch´ema `a seuil de
Shamir
Vers C++ venant de C et de Java
Adrien Poteaux et Alexandre Sedoglavic
Licence 3 info
Universit´e de Lille 1
Janvier 2015
Vers C++ venant
de C et de Java
Adrien Poteaux et
Alexandre
Sedoglavic
Introduction
De C vers C++
Pointeurs et
ef´erences
Espaces de noms
Programmation
en´eriques
Les fondements
implant´es
Outils standards
Outils de calcul
niveau processeur
Exemples :
structures
alg`ebriques
Sch´ema `a seuil de
Shamir
G´en´eralit´es
Le C++ est un langage de programmation d´evelopp´e `a
partir de 1980 par Bjarne Stroustrup.
Nous utiliserons la normalisation iso 2011 de ce langage
compil´e.
Ce langage se veut une incr´ementation du langage C (bien
que l’inclusion de l’un dans l’autre ne soit pas stricte).
Le C++ est moins ecace que C mais plus que Java.
C++ est un langage compil´e qui permet la programmation
proedurale et la poo.
Vers C++ venant
de C et de Java
Adrien Poteaux et
Alexandre
Sedoglavic
Introduction
De C vers C++
Pointeurs et
ef´erences
Espaces de noms
Programmation
en´eriques
Les fondements
implant´es
Outils standards
Outils de calcul
niveau processeur
Exemples :
structures
alg`ebriques
Sch´ema `a seuil de
Shamir
Ce qui marche en C mais pas en C++
La conversion implicite est plus stricte en C++. Ainsi, pour
les pointeurs de type void par exemple :
const int *j = NULL ;
/* marche en C mais pas en C++ */
int *i = malloc(sizeof(int)) ; i=j ;
//marche dans les 2 langages
int *i = (int *) malloc(sizeof(int)) ;
Ipas de goto du C en C++ ;
Iles ´enum´erations ne sont pas des int en C++ ;
Ien C++ la fonction int foo() ne prend par
d’arguments alors qu’en C elle en prend un nombre
ind´etermin´e ;
Iimpossible d’utiliser les identificateurs de C++ dans un
code C compil´e par un compilateur C++.
Vers C++ venant
de C et de Java
Adrien Poteaux et
Alexandre
Sedoglavic
Introduction
De C vers C++
Pointeurs et
ef´erences
Espaces de noms
Programmation
en´eriques
Les fondements
implant´es
Outils standards
Outils de calcul
niveau processeur
Exemples :
structures
alg`ebriques
Sch´ema `a seuil de
Shamir
Pointeurs et r´ef´erences
C++ introduit — en plus des pointeurs classiques — la
notion de r´ef´erence :
int i ;
int &refsuri = i;
Iun pointeur est une variable pouvant ˆetre modifi´e, la
r´ef´erence est une adresse non modifiable ;
Ipas d’arithm´etique des r´ef´erences comme il y a une
arithm´etique des pointeurs ;
Iun pointeur peut pointer sur 0 alors qu’en th´eorie une
r´ef´erence est toujours l’adresse d’un object existant ;
Ila r´ef´erence se comporte comme un alias de ce `a quoi
elle fait r´ef´erence.
Vers C++ venant
de C et de Java
Adrien Poteaux et
Alexandre
Sedoglavic
Introduction
De C vers C++
Pointeurs et
ef´erences
Espaces de noms
Programmation
en´eriques
Les fondements
implant´es
Outils standards
Outils de calcul
niveau processeur
Exemples :
structures
alg`ebriques
Sch´ema `a seuil de
Shamir
Exemple du swap
void myswap(int & a, int & b)
{
intc=a;
a=b ;
b=c ;
}
int main (void)
{
intk=5,e=4;
myswap(k,e) ;
return k-4 ;
}
Noter bien les param`etres et les arguments de la fonction
myswap dans l’exemple ci-dessus.
1 / 25 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !