1 00:00:00,360 --> 00:00:04,890 ‫Bem-vindo de volta a este vídeo, vamos ver a diferença entre o tipo de valor 2 00:00:04,890 --> 00:00:12,450 ‫e o tipo de referência para que os tipos de dados possam ser categorizados em duas categorias com base em como ocupam a localização da memória. 3 00:00:13,080 --> 00:00:16,600 ‫E examinaremos esses tipos em detalhes. 4 00:00:16,710 --> 00:00:18,990 ‫Portanto, em primeiro lugar, examinamos o tipo de valor. 5 00:00:19,200 --> 00:00:26,130 ‫Portanto, como o nome sugere, é um tipo de dado que, quando declarado e atribuído a um valor, mantém esse 6 00:00:26,130 --> 00:00:29,100 ‫valor diretamente em seu próprio espaço de memória. 7 00:00:29,310 --> 00:00:29,700 ‫Tudo bem. 8 00:00:29,700 --> 00:00:33,150 ‫Portanto, o tipo de valor usa Ahepe para armazenar o disvalue. 9 00:00:33,360 --> 00:00:40,140 ‫Exemplos de tipos de valor são tipos de dados, como int float long double char bool decimal double. 10 00:00:40,320 --> 00:00:42,150 ‫Basicamente, os tipos de dados simples. 11 00:00:42,150 --> 00:00:42,400 ‫Direito. 12 00:00:42,690 --> 00:00:45,770 ‫Agora vamos dar uma olhada na representação pictórica de um tipo de valor. 13 00:00:45,780 --> 00:00:51,190 ‫Então, digamos que criamos uma nova variável chamada ZEM e ela tem o valor de duzentos e trinta e quatro. 14 00:00:51,420 --> 00:00:58,620 ‫Portanto, agora este valor, duzentos e trinta e quatro, será armazenado na RAM na posição desta variável Z. 15 00:00:59,340 --> 00:00:59,870 ‫Tudo bem. 16 00:00:59,880 --> 00:01:05,670 ‫E então, se olharmos para o tipo de referência com mais detalhes, podemos ver que é um 17 00:01:05,670 --> 00:01:12,490 ‫tipo de variável que, em vez de armazenar o valor na memória diretamente, armazena apenas a localização da memória dos dados reais. 18 00:01:13,650 --> 00:01:18,640 ‫A variável aqui armazena a referência de memória dos dados e não os dados diretamente. 19 00:01:19,080 --> 00:01:20,440 ‫Essa é a grande diferença, certo? 20 00:01:20,760 --> 00:01:29,010 ‫Portanto, os tipos de dados de referência são array de classe de string, basicamente tipos de dados que são mais complexos e precisam de muito 21 00:01:29,010 --> 00:01:30,720 ‫mais espaço, por assim dizer. 22 00:01:31,140 --> 00:01:37,140 ‫Isso é feito para economizar recursos e tornar nosso programa o mais rápido possível, porque então não 23 00:01:37,140 --> 00:01:40,740 ‫precisamos obter valor e movimentar o valor o tempo todo. 24 00:01:40,740 --> 00:01:47,430 ‫Mas podemos apenas dizer, OK, o valor está naquele local, então você pode obtê-lo de lá em vez 25 00:01:47,670 --> 00:01:51,510 ‫de, por exemplo, copiar os dados quando os usarmos. 26 00:01:52,260 --> 00:01:52,590 ‫Tudo bem. 27 00:01:52,600 --> 00:01:57,890 ‫Portanto, quando copiamos esse tipo de referência de um tipo de dados, ele apenas copia o endereço de memória dos dados. 28 00:01:57,900 --> 00:02:02,790 ‫Portanto, teremos duas variáveis apontando para os mesmos dados. 29 00:02:03,030 --> 00:02:05,580 ‫Então, vamos dar uma olhada na representação pictórica aqui. 30 00:02:05,730 --> 00:02:12,960 ‫Portanto, temos essa string chamada primeiro de Dennis e, em seguida, temos o endereço do valor da variável e, em 31 00:02:12,960 --> 00:02:14,690 ‫seguida, o valor real. 32 00:02:14,940 --> 00:02:16,920 ‫Então você pode ver aqui o. 33 00:02:18,320 --> 00:02:24,530 ‫Este valor aqui é apenas o endereço que você pode ver aqui, mas o endereço da variável. 34 00:02:25,440 --> 00:02:34,110 ‫O nome está aqui, então o endereço do valor da variável e o valor real são armazenados em dois locais diferentes em 35 00:02:34,350 --> 00:02:35,230 ‫sua RAM. 36 00:02:35,760 --> 00:02:40,530 ‫Portanto, no geral, o endereço do valor da variável é super curto. 37 00:02:40,680 --> 00:02:43,230 ‫É realmente apenas um número muito básico. 38 00:02:43,230 --> 00:02:43,580 ‫Direito. 39 00:02:44,010 --> 00:02:48,270 ‫Por outro lado, o valor real pode ser bastante complexo. 40 00:02:48,280 --> 00:02:52,620 ‫Portanto, pode ser um objeto bastante complexo e que contém muitas informações armazenadas. 41 00:02:52,830 --> 00:02:58,230 ‫E é por isso que é melhor para nossos programas usar essa abordagem ou o C sustenido em geral. 42 00:02:59,940 --> 00:03:05,110 ‫Digamos que você vá a uma locadora e queira um carro, certo? 43 00:03:05,120 --> 00:03:10,710 ‫Então você vai a uma locadora de veículos e depois está no balcão e quer retirar o carro que 44 00:03:10,710 --> 00:03:11,070 ‫encomendou. 45 00:03:11,430 --> 00:03:16,290 ‫Bem, o balcão não tem o seu carro, mas tem a localização dele. 46 00:03:16,290 --> 00:03:23,070 ‫Assim, ele lhe dará as chaves e dirá para você ir nesta direção e você encontrará o carro na coluna fulano de tal, 47 00:03:23,400 --> 00:03:26,360 ‫fulano de tal ou piso ou o que for. 48 00:03:26,640 --> 00:03:30,180 ‫Então você pode simplesmente ir lá e pegar seu carro. 49 00:03:30,180 --> 00:03:36,330 ‫Então, ao invés de guardar o carro dentro do balcão, o que não funcionaria porque o carro 50 00:03:36,330 --> 00:03:43,080 ‫seria muito grande, eles têm todas essas referências onde os carros estão para que você possa retirá-los facilmente, mesmo que 51 00:03:43,080 --> 00:03:47,870 ‫falte um pouco neste exemplo pouco do resto da complexidade que temos aqui. 52 00:03:47,880 --> 00:03:53,070 ‫Mas talvez isso ajude você a entender o tipo de referência um pouco melhor. 53 00:03:53,910 --> 00:03:54,450 ‫Tudo bem. 54 00:03:54,510 --> 00:03:55,520 ‫Então é isso por enquanto. 55 00:03:55,680 --> 00:03:56,730 ‫Voltemos ao Cody. 56 00:03:57,090 --> 00:03:58,020 ‫Te vejo no próximo vídeo.