‫Olá e bem-vindo.
‫Nesta palestra, aprenderemos como podemos acessar o que está do outro lado
‫de um ponteiro para que nosso componente movedor possa obter propriedades do ator em que vive, como
‫obter o nome do ator ou obtendo sua localização.
‫Vamos mergulhar e ver como podemos fazer isso.
‫Portanto, é muito bom poder obter um ponteiro ou obter o endereço de um ator.
‫Mas precisamos ser capazes de fazer coisas com o próprio ator.
‫E o processo para fazer isso é um pouco complicado de entender se olharmos apenas para o ator.
‫Então, vamos dar uma olhada em alguns ponteiros para floats aqui dentro dos componentes de tecnologia.
‫Então vamos começar criando um float, que vamos chamar de meu float e definir isso para um valor de
‫cinco.
‫Então vamos criar um ponteiro float, que vou chamar de seu float, e
‫vamos defini-lo como o endereço do meu float.
‫Portanto, ambos estão apontando para o mesmo endereço na memória.
‫A diferença é que seu float é um endereço, então não posso simplesmente imprimir o valor.
‫Então, se eu quiser fazer um u log e quiser dizer que o valor do seu float é igual a porcentagem F, então eu coloco
‫seu float.
‫Isso não vai funcionar porque seu float é um ponteiro, não um float real.
‫Então, o que precisamos fazer é essencialmente.
‫Obtenha o valor nesse local.
‫Então, a maneira como podemos fazer isso, se eu fosse armazená-la em uma nova variável float chamada float value,
‫então eu usaria o operador de referência D, que na verdade também é uma estrela.
‫E colocamos isso antes da coisa que queremos fazer referência.
‫Então, damos a ele um ponteiro para a referência D, que neste caso é o seu float.
‫Agora é um pouco estranho que usemos essas estrelas em dois contextos diferentes.
‫Então, estamos usando a estrela após o tipo que nos diz que é um ponteiro flutuante.
‫E quando você está usando com um tipo, significa que é um ponteiro quando você usa uma estrela antes de uma expressão
‫de ponteiro.
‫O que você está fazendo é dizer, me dê o valor neste local.
‫Então, isso obtém o valor e o copia para o valor flutuante e agora o valor flutuante.
‫Podemos imprimir assim.
‫Então, com todas essas contorções, vamos em frente e compilá-lo e ver e ação como hit play.
‫E com certeza, está dizendo que seu valor float é cinco, que é o valor que tínhamos originalmente.
‫Agora, geralmente não armazenamos o valor intermediário em uma variável porque isso é um desperdício.
‫É criar uma cópia que não precisamos.
‫Então, o que podemos fazer é usar isso diretamente na expressão onde precisamos.
‫Então seu valor float seria estrela, seu float assim.
‫E isso vai funcionar exatamente da mesma maneira, exceto que desta vez não faz uma cópia em uma variável
‫desnecessária.
‫Agora suponha que queremos obter o nome do ator proprietário aqui.
‫Bem, do jeito que faríamos isso, vamos remover essas coisas que estávamos fazendo com os carros alegóricos é que
‫faríamos referência a um ponteiro.
‫Então nós fazemos o dono da estrela que realmente nos leva ao próprio ator.
‫Então podemos colocar um par de colchetes ao redor do dono e então podemos fazer um ponto.
‫Então tiramos o ator dessa expressão.
‫Agora podemos usar um ponto para obter algo de dentro do ator para que possamos obter ator, nome
‫ou rótulo, que retornará como uma string para que possamos fazer com que o nome da string seja igual a
‫isso e, em seguida, possamos imprimir o movimento ona percent s e, em vez de usar o proprietário aqui, vamos iniciar o nome e trazer isso.
‫Precisamos colocar a estrela na frente de um nome.
‫Esse é mais um uso para esse operador estelar.
‫Já encontramos três deles.
‫Um é com esta corda.
‫É a primeira vez que o vemos.
‫Então está aqui com o tipo e também está aqui para DE referenciando muitos e muitos usos para
‫exatamente o mesmo caractere.
‫Mas é assim com C++.
‫Vamos experimentar e apertar o play.
‫E agora você pode ver que está imprimindo o nome dos atores aos quais o filme está ligado.
‫Então, passamos por esse ponteiro com o operador de referência D e conseguimos chamar uma função
‫em um objeto diferente.
‫Agora, na verdade, existe uma sintaxe muito mais compacta para fazer isso porque é muito comum querermos
‫obter uma função ou propriedade de um objeto de ponteiro em vez de ter que fazer isso com os parênteses e o operador de
‫referência de estado, podemos mesclar tudo isso em 1.
‫Podemos remover tudo isso ou mover o ponto e, em vez disso, usamos esse operador de seta para que a seta do proprietário obtenha o ator, o
‫nome ou o rótulo e isso faça exatamente a mesma coisa, exceto que é muito mais fácil de escrever.
‫Então, de um modo geral, acabará com a regra em que, se tivermos um ponteiro, usamos o operador de seta.
‫Se estivermos usando uma estrutura como uma string F ou um vetor F, usamos o operador ponto.
‫Então eu gostaria que você imprimisse a localização dos atores usando esse novo conhecimento de como podemos usar ponteiros.
‫Então eu gostaria que você ligasse para obter a localização do ator.
‫Você usará o operador de seta para examinar o ponteiro e chamar essa função no
‫objeto.
‫Na outra extremidade, você armazenará o vetor F que resulta disso.
‫Então você vai chamar duas strings compactas para armazenar o resultado em uma nova variável de string e imprimir isso
‫no log.
‫Pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Então, vou criar um novo vetor F chamado local do proprietário e vou fazer a seta do proprietário, obter a localização do
‫ator.
‫Então eu vou converter isso em uma string.
‫Então, eu vou ter uma string X chamada string de localização do proprietário, e isso será
‫igual ao ponto de localização do proprietário para compactar a string assim.
‫Pode deixar.
‫Então agora temos nossa própria string de localização.
‫Podemos imprimir isso no log.
‫Eu vou dizer que o dono da mudança é este com localização por cento s e que por cento s nós vamos ter
‫outra string de localização do dono da estrela assim e então aperta control alt f 11 e nós vamos em frente
‫e apertamos play e eles go, temos tanto o nome do ator quanto sua localização impressas como uma
‫string.
‫Portanto, agora podemos ver o poder de ter ponteiros e poder chamar funções em pontos,
‫pois nos permite comunicar entre diferentes instâncias de classes e fazer com que os objetos sejam muito mais úteis.
‫Vejo você na próxima palestra.