Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

(Redirected from Construtor em 2 fases)

Construção em 2 fases

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Criado por cabezonxdg em Cabezonxdg
Última alteração feita por hamishwillee em 09 Dec 2011

Por celulares serem dispositivos com recursos limitados, a gerência de memória é um ponto primordial para o bom desempenho de uma aplicação. O Symbian OS possui mecanismos para tratar exceções de forma que quando houver uma o prograva deva voltar para um estado anterior estável.

Como construtores não podem retornar um valor, caso a alocação de recursos ou chamada a alguma função que possa ocasionar uma exceção fosse feita no construtor o sistema operacional não poderia manusear essa exceção o que poderia ocasionar sérios problemas.

Pensando nisso o Symbian OS adotou a construção de classes em duas fases, a default do C++ e a função ConstructL() também conhecido como construtor da segunda-fase. Alocação de memória, chamada a funções que possam gerar uma exceção etc são feitas no ConstructL (com o 'L' no fim da função) assim o sistema poderá controlar uma exceção caso ocorra.

ConstructL

ConstructL é uma função void deve-se implementar esse construtor como private ou protected para impossibilitar a criação de uma instância utilizando new. Inicializações que não abandonam podem ser realizadas normalmente no construtor c++, porém as inicializações que podem abandonar devem ser feitas no ConstructL.

CProjetoExemplo::CProjetoExemplo()
{
iData = 180507;
}
 
void CProjetoExemplo::ConstructL()
{
iClasse = new (ELeave) CClasse;
}

Artigos relacionados

Abandonos - Leaves
Gerência de memória
Pilha de limpeza - Cleanup Stack

Leitura complementar

SymbianOS Basics WorkBook 3.0 - Páginas 117 à 149


This page was last modified on 9 December 2011, at 04:55.
185 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×