Pytania otagowane jako lifetime

5
Jaki jest czas życia zmiennej statycznej w funkcji C ++?
Jeśli zmienna jest zadeklarowana jak staticw zakresie funkcji, jest inicjowana tylko raz i zachowuje swoją wartość między wywołaniami funkcji. Jaka jest dokładnie jego żywotność? Kiedy wywoływany jest jego konstruktor i destruktor? void foo() { static string plonk = "When will I die?"; }
373 c++  static  lifetime 

2
Dlaczego nie mogę przechowywać wartości i odwołania do tej wartości w tej samej strukturze?
Mam wartość i chcę przechowywać tę wartość i odwołanie do czegoś wewnątrz tej wartości we własnym typie: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } Czasami mam wartość i chcę przechowywać tę …


1
Co to są nieleksykalne okresy życia?
Rust ma dokument RFC dotyczący nieleksykalnych okresów istnienia, który został zatwierdzony do implementacji w języku przez długi czas. Ostatnio obsługa tej funkcji przez Rust znacznie się poprawiła i jest uważana za kompletną. Moje pytanie brzmi: czym właściwie jest nieleksykalne życie?


1
Zastosowanie zmiennej we własnym inicjatorze
[basic.scope.pdecl] / 1 standardowego projektu C ++ 20 zawierał następujący (nienormatywny) przykład w notatce (częściowy cytat sprzed scalenia żądania ściągnięcia 3580 , patrz odpowiedź na to pytanie): unsigned char x = x; [...] x jest inicjalizowany z własną (nieokreśloną) wartością. Czy to rzeczywiście ma dobrze zdefiniowane zachowanie w C ++ …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.