
Lifetimes
Anotações de lifetime, regras de elisão, lifetime 'static, lifetimes em structs, lifetime bounds
1Qual é o propósito principal dos lifetimes em Rust?
Qual é o propósito principal dos lifetimes em Rust?
Resposta
Os lifetimes permitem que o compiler verifique se todas as references são válidas durante todo o seu uso. Eles garantem que uma reference nunca sobreviva aos dados a que se refere, evitando dangling references. O borrow checker usa os lifetimes para validar a segurança de memória em tempo de compilação, sem overhead em tempo de execução.
2Qual sintaxe é usada para anotar um lifetime em uma reference?
Qual sintaxe é usada para anotar um lifetime em uma reference?
Resposta
Os lifetimes são anotados com um apóstrofo seguido de um nome, geralmente uma letra minúscula como 'a. A sintaxe &'a T significa uma reference a T com o lifetime 'a. Por convenção, usa-se 'a, 'b, 'c para os lifetimes genéricos, mas qualquer identificador válido pode ser usado após o apóstrofo.
3O que significa o lifetime 'static em Rust?
O que significa o lifetime 'static em Rust?
Resposta
O lifetime 'static indica que uma reference pode viver durante toda a duração do programa. String literals como "hello" têm automaticamente o lifetime 'static porque estão embutidos no binário. Constantes globais e valores criados com Box::leak também têm esse lifetime. Atenção: 'static não significa que o valor existiu desde o início do programa, mas que pode viver até o fim.
Quantas regras de elisão de lifetime o compiler do Rust aplica automaticamente?
Por que uma função fn longest(x: &str, y: &str) -> &str não compila?
+17 perguntas de entrevista
Outros temas de entrevista Rust
Fundamentos de Rust
Ownership & Borrowing
Structs & Enums
Tratamento de erros
Coleções
Módulos e Pacotes
Traits
Generics
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde e serialização
Unsafe Rust
Traits avançados
Lifetimes Avançados
Type System
Tokio & Async I/O
Otimização de Desempenho
Memory Management
Web Frameworks
Database Integration
Padrões de design em Rust
Domine Rust para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis