Ir ao conteúdo

Posts recomendados

Postado

E tem alguma diferença em utilizar o comando endl e o /n???

 

Desculpa as perguntas bestas mas eu comecei a aprender C++ hoje  :/

Aceito dicas pra aprender mais rápido também...

  • Curtir 1
Postado

@Kr4sh oi cara!

Você está mesmo confuso. Melhor prova disso é o título do poster e seu corpo ser duas coisas diferentes.

 

Vejamos:

"Se o nome de uma variável for maior ele ocupa mais espaço?"

A resposta é sim, no disco (HD) em que o arquivo foi gravado. Cada caractere do arquivo que alberga o código fonte guarda para si uma quantidade de bytes, dependendo do tipo e da codificação do arquivo podendo ser de 1 até 4 bytes por letra, gráfico ou numeral. Faça um pequeno experimento criando um arquivo texto usando aplicação Bloco de Notas (Notepad) do windows; escreva teu nome e depois salve o arquivo, depois com botão direito do mouse clique nele, depois clique em propriedades localize o seguinte trecho na janela que abriu- Tamanho: x bytes (x bytes) -, onde aqui há x na janela há quantidade de bytes que o teu nome ocupa na memória do disco. A única diferença será nesse caso, e no que se diz respeito aos programas de variáveis de grandes ou pequenos nomes não haverá diferença entre os espaços ocupados.

 

"E tem alguma diferença em utilizar o comando endl e o /n???"

Sim, há diferenças, porém os resultados são os mesmos. Dadas as situações de uso correto, ambos os comandos gerarão o mesmo evento que é adicionar uma nova linha. A diferença é que endl é categórico a sintaxe C++ e suas particularidades e \n pertence a sintaxe do C, ou seja, a diferença é no campo da escrita e da execução, pois o resultado final é o mesmo.

 

"Aceito dicas pra aprender mais rápido também..."

Aprender mais rápido, aprender é por natureza um processo lento, das palavras do PhD Peixoto da Universidade Federal de Pernambuco: Melhor forma de aprender é pela força de vontade, exercício, leitura, repetição e tudo dito antes em dobro.

 

~~ / ~~

  • Curtir 1
  • Amei 1
Postado

A sua pergunta não foi especifica, ocupa mais espaço em que? Memória? Em disco? Ou nos arquivos do projeto?

 

Se você estiver falando em tamanho dos arquivos do projeto a resposta é sim, agora se esta falando no tamanho do arquivo em disco a resposta é sim(o AnsiC já explicou o porque disso). Agora, se o que você quer dizer ocupa mais espaço na memória a resposta é não(Explico isso nas linhas abaixo).

 

O nome da variável é algo irrelevante, não vai ser isso que vai fazer ocupar mas espaço na memoria, ate porque a CPU não interpreta nomes de variável, mas sim registrador e endereços de memória, por exemplo:

 

void MinhaFuncao(int minhaVariavelEnormeEblablalblablblalalbla)

 

Apos compilado e executado, isso ai vai se tornar um registrador(geralmente fica no registrador esp, mas pode ficar no ebp), o que eu quero dizer é que o registrador ebp + 8 vai ser onde esta contida o valor da sua variável, o processador não trabalha com nomes de variáveis, mas com endereços de memória. O que vai deixar maior vai ser o tipo de variável(char, bool, int, float, long, double, long long, ...) por exemplo: uma variável do tipo int(para números inteiros) ocupa na memória 4 bytes, enquanto uma variável do tipo double ocupana memoria 8 bytes.

 

Sobre a segunda pergunta:

Sim, tem algumas diferenças, enquanto o \n e apenas um carácter ansi que pula uma linha, o endl é um manipulador de stream, que forca o flush do buffer a pular uma linha.

 

o endl não existe na linguagem C, apenas na linguagem C++.

 

Dicas para aprender rápido? Apenas se esforce e meta a mão nos códigos, você só vai aprender lendo e praticando.

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...