Xavier Lamorlette

modules C++

Les modules sont introduits dans C++ 20.

Ils permettent de :

// module interface: my_module.ixx
module;

import std.core;

export module my_module;

export namespace my_module {
int foo(int arg);
}
// module implementation: my_module.cpp
module my_module;

import std.core;

namespace my_module {

int foo(int arg) {
  …
}

}
// client code
import std.core;

import my_module;

{
    my_module::foo(1);
}

Le module std.core contient quasiment toute la STL (notamment sauf std.memory).

On peut mettre l'interface et l'implémentation dans le même fichier comme suit :

// my_module.ixx
module;

import std.core;

export module my_module;

export namespace my_module {
int foo(int arg);
}

module :private;

int foo(int arg) {
  …
}

La dernière mise à jour de cette page date d'août 2026.

Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.