Тест: Gestion de la mémoire en C++ — 9 въпроса

Подробни въпроси и отговори

1. Que fait l'opérateur & lorsqu'il est utilisé devant une variable ?

Il crée une copie de la variable.
Il déréférence un pointeur pour accéder à la valeur.
Il renvoie l'adresse mémoire de cette variable.
Il initialise un pointeur à nullptr.

Il renvoie l'adresse mémoire de cette variable.

Обяснение

L'opérateur & en C++ renvoie l'adresse mémoire de la variable qui lui est associée. Par exemple, &v donne l'adresse mémoire où est stockée la variable v.

2. Quelle est la principale différence entre une variable, un pointeur et une référence en C++ ?

Une variable stocke une valeur, un pointeur une adresse mémoire, une référence un alias d’une variable existante.
Une variable est un alias, un pointeur stocke une valeur, une référence une adresse mémoire.
Une variable et un pointeur sont identiques, seule la référence est différente.
Une variable peut être null, un pointeur peut seulement pointer vers une variable existante, une référence ne peut jamais être modifiée.

Une variable stocke une valeur, un pointeur une adresse mémoire, une référence un alias d’une variable existante.

Обяснение

Les variables stockent directement des valeurs, les pointeurs contiennent des adresses mémoire, et les références agissent comme des alias directes d'une variable existante, simplifiant leur utilisation.

3. Quelle est la différence essentielle entre une référence et un pointeur en C++ ?

Une référence doit toujours être initialisée, alors qu'un pointeur peut ne pas l'être.
Une référence ne peut pas être null, alors qu'un pointeur peut l'être.
Une référence peut changer d'objet après initialisation, alors qu'un pointeur ne peut pas.
Une référence stocke une adresse, alors qu'un pointeur stocke une valeur.

Une référence ne peut pas être null, alors qu'un pointeur peut l'être.

Обяснение

Une référence en C++ est un alias permanent d'une variable, elle ne peut pas être null et doit être initialisée lors de sa déclaration. Un pointeur, en revanche, est une variable qui contient une adresse mémoire et peut être null ou modifié pour pointer vers d'autres adresses.

4. Quel opérateur en C++ permet d’obtenir l’adresse mémoire d’une variable ?

L’opérateur `&`.
L’opérateur `*`.
L’opérateur `->`.
L’opérateur `#`.

L’opérateur `&`.

Обяснение

L’opérateur `&` est utilisé pour obtenir l’adresse mémoire d’une variable en C++, facilitant la manipulation de pointeurs.

5. Quelle est la principale différence entre une variable et un pointeur en C++ ?

Une variable ne peut pas être modifiée, alors qu'un pointeur peut l'être.
Une variable est une référence, alors qu'un pointeur est une copie de cette référence.
Une variable est toujours de type int, alors qu'un pointeur peut être de n'importe quel type.
Une variable stocke une valeur, tandis qu'un pointeur stocke une adresse mémoire.

Une variable stocke une valeur, tandis qu'un pointeur stocke une adresse mémoire.

Обяснение

Une variable contient directement une valeur (par exemple, un entier 42), tandis qu'un pointeur contient une adresse mémoire pointant vers une autre variable ou donnée. C'est cette distinction qui est fondamentale en gestion mémoire en C++.

6. Quel est le risque principal associé à l’utilisation d’un pointeur null (`nullptr`) si on ne le vérifie pas avant de le déréférencer ?

Le programme peut accéder à une zone mémoire non autorisée, provoquant une erreur de segmentation.
Le programme ignorera la variable, ce qui peut causer une erreur de logique.
Il y a un risque de corruption de la mémoire globale.
Le compilateur générera une erreur lors de la compilation.

Le programme peut accéder à une zone mémoire non autorisée, provoquant une erreur de segmentation.

Обяснение

Déréférencer un pointeur null mène à une violation d’accès mémoire, souvent à une erreur de segmentation, ce qui peut faire planter le programme.

7. En 2007, quelle a été une avancée importante dans la gestion de mémoire en C++ selon le contenu ?

La normalisation de l’utilisation des pointeurs intelligents.
Le standard C++11 qui a introduit des pointeurs intelligents et des références rvalue.
L’introduction du mot-clé `nullptr` dans la norme C++.
L’abandon total des pointeurs au profit uniquement des références.

L’introduction du mot-clé `nullptr` dans la norme C++.

Обяснение

En 2007, avec la norme C++2007, l’usage de `nullptr` a été standardisé, améliorant la sécurité de la gestion de mémoire en différenciant les pointeurs null.

8. Comment accéder aux membres d’une structure ou classe via un pointeur en C++ ?

En utilisant l’opérateur `->`.
En déréférençant le pointeur avec `*` puis en utilisant le point `.`.
En utilisant simplement le nom du pointeur.
En utilisant l’opérateur `&`.

En utilisant l’opérateur `->`.

Обяснение

L’opérateur `->` permet d’accéder directement aux membres d’un objet via un pointeur, c’est une syntaxe plus concise que de déférencer puis d’utiliser le point.

9. Quelle pratique est préférée pour éviter la gestion explicite de la mémoire et renforcer la sécurité en C++, ?

Utiliser des références plutôt que des pointeurs.
Utiliser uniquement des variables locales.
Utiliser des pointeurs bruts et ne jamais les libérer.
Éviter totalement la manipulation de mémoire.

Utiliser des références plutôt que des pointeurs.

Обяснение

Les références en C++ sont plus sûres que les pointeurs car elles ne peuvent pas être nulles et ne nécessitent pas de gestion explicite de la mémoire, réduisant ainsi les risques d’erreurs.

Прегледайте с флашкарти

Запомнете отговорите с 10 флашкарти по Gestion de la mémoire en C++.

Variables — stockage ?

Contiennent une valeur

Variables — stockage action?

Stockent des valeurs dans la mémoire.

* — fonction ?

Déréférencer un pointeur, accéder à la valeur

Вижте флашкартите →

Учете с листа за преговор

Прочетете пълния лист за преговор на Gestion de la mémoire en C++.

Вижте листа за преговор →

Similar courses

Създайте свои собствени тестове

Импортирайте курса си и AI генерира тестове с корекции за 30 секунди.

Генератор на тестове