Lifetimes

Vi kallar tiden variablen lever för en lifetime. Att leva och vara i scope är inte samma sak då lifetimen av en variable tar slut när den frigörs(free) när den förstörs/[[destrueras|Destructors]].


int A=1;                  // ----------------+-- 'a
int main() {              //                 |
    int b;                // ---------+-- 'b |
    {                     //          |      |
        int c = 5;        // -+-- 'c  |      |
        //more code       //  |       |      |
    }                     // -+       |      |
                          //          |      |
}                         // ---------+      |
                          //                 |

När minnet har tagits tillbaka har lifetimen tagit slut. Lifetimes definierar när vi har åtkomst till variabler och hur länge de existerar. I ovan exempel har vi 3 variabler som har lifetimes inom 3 olika scopes. A finns åtkomligt i hela exemplet. b finns åtkomligt i hela [[funktionens|Functions]] scope. c finns endast i det lilla inre scopet.