# Scope### DefineScope is a context to manage Variables. It mainly contains a map from Variable name to Variable. Net will get and update variable throw scope.```cppclassScope{VariableGetVar();private:// var_name -> varstd::map<string,Variable>var_map_;Scope*parent_scope_;}```You need to specify a scope to run a Net. One net can run in different scopes and update different variable in the scope. If you did not specify one, It will run in a default scope.```pythonwithScopeGuard(scope):Netnet=Net();Net.run()```### Chain structureScope has a pointer point to it's parent scope, this is mainly used in RNN when it need to create many stepNet.### Scope Guard