Ir para conteúdo
Fórum Script Brasil
  • 0

duvida sobre define


kuroi

Pergunta

primero queria saber se tem alguma diferenca em declarar constante com const ou define.

exemplo:

#define x 1
const int x = 1;

qual é o melhor de se usar??

e depois queria saber como funciona a tipagem com o #define. no primero exemplo, como o compilador entende o tipo de dados do x (se é int, short, double, etc)??

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O primeiro é substituído pelo pré-processador do C, enquanto o segundo ocupa espaço na memória em runtime, mas é somente dado acesso de leitura.

Não há nenhum tipo de tipagem com o #define. Só há uma substituição, geralmente o compilador faz a conversão do valor.

Abraços.

Editado por Durub
Link para o comentário
Compartilhar em outros sites

  • 0

entendi, valeu.

durub mas existe alguma vantagem em usar const??

sei q posso criar parametros de funcoes como const pra evitar q seja alterado.

mas fora isso usar const tem alguma vantagem sobre o define?? porque no meu exemplo acima, se eu usasse o const, alem de ele ocupar espaco na memoria, gastaria mais tempo de processamento cada vez q eu usasse a constante.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, tem várias vantagens, mas há casos em que usar o #define é melhor.

Algumas vantagens, por exemplo:

  • Você pode utilizar const em variáveis locais, aonde utilizando #define não seria possível o mesmo.
  • Possui tipo (#define tres 3.0, seria um double ou um float?)
  • É menos suscetível a erros do que utilizar #define, que pode causar efeitos colaterais se não usado corretamente

Abraços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...