Maison >développement back-end >C++ >Le rôle de extern, static et mutable dans les déclarations de fonctions C++ : comprendre leur sémantique et leurs effets

Le rôle de extern, static et mutable dans les déclarations de fonctions C++ : comprendre leur sémantique et leurs effets

PHPz
PHPzoriginal
2024-05-01 17:09:02346parcourir

Le rôle du mot-clé extern fait référence aux fonctions dans d'autres fichiers source. static limite la portée de la fonction au fichier source actuel. mutable permet de modifier les objets déclarés comme const au sein de la fonction. extern, static et mutable dans les déclarations de fonctions C++ : Comprendre leur sémantique et leurs fonctions

C++ 函数声明中 extern、static 和 mutable 的角色:理解它们的语义和作用En C++, les mots-clés extern, static et mutable dans les déclarations de fonctions ont des sémantiques et des fonctions différentes. Le mot-clé

extern

extern indique que la fonction est définie dans d'autres fichiers sources.

Il permet à la fonction d'être référencée dans le fichier source actuel sans avoir à inclure la définition de la fonction.

Ceci est utile lorsqu'il existe plusieurs fichiers sources qui composent un programme.
  • Exemple :
  • // header.h
    extern int add(int a, int b);
    
    // source1.cpp
    #include "header.h"
    int main() {
      int sum = add(1, 2);
      return 0;
    }
  • Dans source1.cpp, le mot-clé extern permet de référencer la fonction add déclarée dans header.h sans inclure la définition de la fonction add. Le mot-clé

static

static est utilisé pour limiter la portée d'une fonction.

L'utilisation du mot-clé static dans une déclaration de fonction signifie que la fonction ne peut être utilisée que dans ce fichier source et n'est pas accessible dans d'autres fichiers source.

Habituellement utilisé pour définir des fonctions auxiliaires qui ne sont utilisées que dans le fichier source actuel.
  • Exemple :
  • // source1.cpp
    static int localFunction() {
      return 10;
    }
    
    int main() {
      int x = localFunction(); // 可以访问 localFunction
      return 0;
    }
  • En raison du mot-clé static, localFunction n'est accessible que dans source1.cpp et non dans d'autres fichiers source.

mutable

mutable est utilisé pour permettre la modification des objets const déclarés dans une déclaration de fonction.

Déclarer un objet const dans une déclaration de fonction signifie généralement que l'objet est immuable.

Le mot-clé mutable permet de modifier les objets const à l'intérieur des fonctions.
  • Exemple :
  • // source1.cpp
    class MyClass {
    public:
      const int x = 10; // 不可变数据成员
      mutable int y = 20; // 可变数据成员
    };
    
    void modifyConst(MyClass& obj) {
      obj.y++; // 允许修改 y,因为 y 是 mutable
    }
  • En raison du mot-clé mutable, la fonction modifierConst peut modifier le membre de données y de la classe MyClass, même si y est const.

Comprendre la sémantique et les effets de ces mots-clés est crucial pour écrire des programmes C++ robustes et efficaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie i++ en C++Article suivant:Que signifie i++ en C++