2010-03-22 3 views

Répondre

0

en C et C++, la création d'un objet déclare également:

int main() { 
    int a[10]; // create a 
    a[3] = 42; // use a - no need for a separate declaration 
} 
+0

-1: Ceci n'est pas correct, voir la réponse de Jerry Coffin. –

2

Les deux sont bien distincts, au moins dans certaines circonstances. Juste par exemple, en C ou C++, il y a des déclarations qui déclarent simplement des choses, et il y a des définitions qui déclarent et les créent, et (seulement en C++) il y a new expressions qui créent des objets sans les déclarer (et, sans doute , une sorte de malloc fait de même en C). De même, dans un langage qui prend en charge les expressions lambda, la création et la déclaration sont séparées - une expression lambda crée quelque chose (par exemple, une fonction) mais ne la déclare pas elle-même (lier un nom).

Questions connexes