Memory

Solidity

Définition

Zone de stockage temporaire utilisée pendant l'exécution d'une fonction. Moins coûteuse que le storage. Reset à chaque appel de fonction. Obligatoire pour les types complexes (arrays, strings, structs) passés en paramètres ou retournés. Déclaration : string memory, uint256[] memory, etc.

Version anglaise

Temporary storage area used during function execution. Less expensive than storage. Reset on each function call. Mandatory for complex types (arrays, strings, structs) passed as parameters or returned. Declaration: string memory, uint256[] memory, etc.

Exemple de Code

contract MemoryExample {
  struct User {
    string name;
    uint256 age;
  }

  User[] public users;

  function addUser(string memory _name, uint256 _age) public {
    // _name est en memory (temporaire)
    User memory newUser = User(_name, _age); // Création en memory
    users.push(newUser); // Copie vers le storage
  }

  function getUser(uint256 index) public view returns (User memory) {
    return users[index]; // Retour d'une copie en memory
  }
}

Termes Liés

Pratique ce concept sur Solingo

Maîtrise Memory avec des exercices interactifs et un IDE intégré.

Commencer gratuitement