Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Palavras-chave sizeof(), auto e typedef | Variáveis e Tipos de Dados
Introdução ao C++
course content

Conteúdo do Curso

Introdução ao C++

Introdução ao C++

1. Introdução
2. Variáveis e Tipos de Dados
3. Introdução aos Operadores
4. Introdução ao Fluxo de Programas
5. Introdução às Funções

bookPalavras-chave sizeof(), auto e typedef

O tamanho de uma variável é a quantidade de memória reservada pelo compilador. O compilador reserva um número específico de bytes da memória do seu computador, com base no tipo de dado que você está usando. Você pode usar a função sizeof() para descobrir o tamanho de uma variável ou tipo de dado em bytes.

cpp

main

copy
12345678910
#include <iostream> int main() { int myVar1; char myVar2; std::cout << "Size of int: " << sizeof(myVar1) << std::endl; std::cout << "Size of char: " << sizeof(myVar2) << std::endl; }

C++ permite que você selecione um tipo com um tamanho de bit preciso, como int8_t, uint8_t, int16_t, uint16_t, etc. Para usar esses tipos de dados, você precisará incluir o arquivo de cabeçalho <cstdint>.

Além disso, podemos forçar o compilador a determinar o tipo da variável por conta própria usando a palavra-chave auto.

cpp

main

copy
1234567891011
#include <iostream> int main() { auto myVar = 64.565; std::cout << "Value of myVar : " << myVar << std::endl; // double type takes 8 bytes std::cout << "Size of myVar : " << sizeof(myVar) << std::endl; }

C++ também permite que você renomeie tipos de dados existentes para si mesmo. É para isso que typedef é usado.

cpp

main

copy
1234567891011121314
#include <iostream> int main() { //change name of double type to MY_NEW_TYPE typedef double MY_NEW_TYPE; MY_NEW_TYPE myVar = 64.565; std::cout << "Value of myVar: " << myVar << std::endl; // double type takes 8 bytes std::cout << "Size of myVar : " << sizeof(myVar) << std::endl; }

Quando compilado, a linha typedef informa ao compilador que MY_NEW_TYPE é apenas um tipo double.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6
some-alt