﻿1
00:00:04,350 --> 00:00:05,430
‫Ciao e Benvenuto.

2
00:00:05,430 --> 00:00:10,620
‫In questa lezione impareremo come possiamo accedere a ciò che si trova sull'altro

3
00:00:10,620 --> 00:00:17,700
‫lato di un puntatore in modo che il nostro componente motore possa ottenere proprietà dall'attore su cui vive,

4
00:00:17,700 --> 00:00:21,750
‫come ottenere il nome dell'attore o ottenere la sua posizione.

5
00:00:21,750 --> 00:00:23,940
‫Immergiamoci e vediamo come possiamo farlo.

6
00:00:24,660 --> 00:00:29,700
‫Quindi va benissimo essere in grado di ottenere un suggerimento o ottenere l'indirizzo di un attore.

7
00:00:29,700 --> 00:00:33,420
‫Ma dobbiamo essere in grado di fare cose con l'attore stesso.

8
00:00:34,110 --> 00:00:39,450
‫E il processo per farlo è un po' complicato da capire se guardiamo solo all'attore.

9
00:00:39,750 --> 00:00:47,190
‫Quindi daremo un'occhiata a fare alcuni suggerimenti sui galleggianti proprio qui all'interno dei componenti tecnologici.

10
00:00:47,580 --> 00:00:54,150
‫Quindi iniziamo creando un float, che chiameremo il mio float e lo imposteremo a un valore di

11
00:00:54,150 --> 00:00:54,690
‫cinque.

12
00:00:55,530 --> 00:01:01,650
‫Quindi creeremo un puntatore float, che chiamerò float, e imposteremo

13
00:01:01,650 --> 00:01:06,060
‫che sia l'indirizzo del mio float.

14
00:01:06,720 --> 00:01:09,840
‫Quindi entrambi puntano allo stesso indirizzo in memoria.

15
00:01:09,840 --> 00:01:16,980
‫La differenza è che il tuo float è un indirizzo, quindi non posso semplicemente stampare il valore.

16
00:01:16,980 --> 00:01:28,650
‫Quindi, se voglio fare un registro u e volevo dire che il tuo valore float è uguale alla percentuale F, allora inserisco il

17
00:01:28,650 --> 00:01:29,910
‫tuo float.

18
00:01:29,910 --> 00:01:35,820
‫Questo non funzionerà perché il tuo float è un puntatore, non un float vero e proprio.

19
00:01:36,690 --> 00:01:40,770
‫Quindi quello che dobbiamo fare è essenzialmente.

20
00:01:41,900 --> 00:01:44,690
‫Ottieni il valore in quella posizione.

21
00:01:45,380 --> 00:01:51,560
‫Quindi il modo in cui possiamo farlo, se dovessi memorizzarlo in una nuova variabile float chiamata float value,

22
00:01:51,560 --> 00:01:56,510
‫allora utilizzo l'operatore di riferimento D, che in realtà è anche una stella.

23
00:01:56,900 --> 00:02:00,650
‫E lo mettiamo prima della cosa a cui vogliamo fare riferimento.

24
00:02:00,650 --> 00:02:04,490
‫Quindi gli diamo un puntatore al riferimento D, che in questo caso è il tuo float.

25
00:02:05,120 --> 00:02:09,920
‫Ora è un po' strano che usiamo queste stelle in due contesti diversi.

26
00:02:09,920 --> 00:02:15,740
‫Quindi uno, stiamo usando la stella dopo il tipo che ci dice che è un puntatore float.

27
00:02:16,160 --> 00:02:22,190
‫E quando lo usi con un tipo, significa che è un puntatore quando usi una stella prima di

28
00:02:22,190 --> 00:02:23,000
‫un'espressione puntatore.

29
00:02:23,390 --> 00:02:27,830
‫Quello che stai facendo lì è che stai dicendo, portami il valore in questa posizione.

30
00:02:28,400 --> 00:02:33,020
‫Quindi ottiene il valore e lo copia in float value e ora float value.

31
00:02:33,260 --> 00:02:36,470
‫Possiamo semplicemente stampare così.

32
00:02:36,690 --> 00:02:42,020
‫Quindi, con tutte quelle contorsioni, andiamo avanti e compiliamolo e vediamo e agiamo come hit play.

33
00:02:42,260 --> 00:02:47,900
‫E abbastanza sicuro, sta dicendo che il tuo valore float è cinque, che è il valore che avevamo originariamente.

34
00:02:48,890 --> 00:02:53,570
‫Ora di solito non memorizziamo il valore intermedio in una variabile perché è uno spreco.

35
00:02:53,570 --> 00:02:55,460
‫Sta creando una copia di cui non abbiamo bisogno.

36
00:02:55,730 --> 00:03:00,770
‫Quindi quello che possiamo fare invece è semplicemente usarlo direttamente nell'espressione dove ne abbiamo bisogno.

37
00:03:00,770 --> 00:03:05,300
‫Quindi il tuo valore float sarebbe una stella, il tuo float in questo modo.

38
00:03:05,840 --> 00:03:10,910
‫E funzionerà esattamente allo stesso modo, tranne che questa volta non esegue una copia in una variabile

39
00:03:10,910 --> 00:03:11,420
‫inutile.

40
00:03:11,690 --> 00:03:16,410
‫Supponiamo ora di voler ottenere qui il nome dell'attore proprietario.

41
00:03:16,430 --> 00:03:23,400
‫Bene, il modo in cui lo faremmo, rimuoviamo questa roba che stavamo facendo con i float, faremmo riferimento a

42
00:03:23,600 --> 00:03:25,460
‫quello che possiede un puntatore.

43
00:03:25,460 --> 00:03:29,570
‫Quindi facciamo il proprietario della star che in realtà ci porta all'attore stesso.

44
00:03:29,900 --> 00:03:36,630
‫Quindi possiamo mettere un paio di parentesi attorno al proprietario e poi possiamo fare un punto.

45
00:03:37,010 --> 00:03:40,760
‫Quindi abbiamo eliminato l'attore da questa espressione.

46
00:03:40,970 --> 00:03:48,650
‫Ora possiamo usare un punto per ottenere qualcosa dall'interno dell'attore in modo da poter ottenere l'attore, il nome

47
00:03:48,650 --> 00:03:56,990
‫o l'etichetta, che verrà restituito come una stringa in modo da poter fare in modo che il nome della stringa

48
00:03:56,990 --> 00:04:07,700
‫sia uguale a questo e quindi possiamo stampare la mossa ona percento s e poi invece di usare il proprietario qui, inizieremo il nome e lo porteremo.

49
00:04:07,700 --> 00:04:10,400
‫Dobbiamo mettere la stella davanti a un nome.

50
00:04:10,400 --> 00:04:13,070
‫Questo è un altro uso per quell'operatore stellare.

51
00:04:13,310 --> 00:04:15,170
‫Ne abbiamo già incontrati tre.

52
00:04:15,170 --> 00:04:16,520
‫Uno è con questa stringa.

53
00:04:16,730 --> 00:04:17,990
‫È la prima volta che lo vediamo.

54
00:04:17,990 --> 00:04:23,180
‫Quindi è qui con il tipo ed è anche qui per DE che fa riferimento a molti e molti usi esattamente

55
00:04:23,180 --> 00:04:24,410
‫per lo stesso carattere.

56
00:04:24,890 --> 00:04:26,780
‫Ma è così con C++.

57
00:04:27,080 --> 00:04:28,880
‫Andiamo a provarlo e premiamo play.

58
00:04:29,750 --> 00:04:35,120
‫E ora puoi vedere che sta stampando il nome degli attori a cui è associato il film.

59
00:04:35,120 --> 00:04:42,200
‫Quindi abbiamo raggiunto quel puntatore con l'operatore di riferimento D e siamo stati in grado di chiamare una funzione

60
00:04:42,530 --> 00:04:44,480
‫su un oggetto diverso.

61
00:04:44,630 --> 00:04:50,720
‫Ora c'è in realtà una sintassi molto più compatta per farlo perché è così comune per

62
00:04:50,720 --> 00:04:59,030
‫noi voler ottenere una funzione o una proprietà da un oggetto puntatore invece di doverlo fare con le parentesi e l'operatore di riferimento

63
00:04:59,030 --> 00:05:02,360
‫dello stato, possiamo unire tutto questo in uno.

64
00:05:02,360 --> 00:05:09,320
‫Possiamo rimuovere tutto questo o spostare il punto, e invece usiamo questo operatore freccia in modo che la freccia del proprietario ottiene attore, nome o etichetta

65
00:05:09,560 --> 00:05:14,720
‫e questo fa esattamente la stessa cosa, tranne per il fatto che è molto più facile da scrivere.

66
00:05:15,050 --> 00:05:21,620
‫Quindi in generale finirà con la regola per cui se abbiamo un puntatore, usiamo l'operatore freccia.

67
00:05:21,620 --> 00:05:29,090
‫Se utilizziamo una struttura come una stringa F o un vettore F, utilizziamo l'operatore punto.

68
00:05:29,510 --> 00:05:36,740
‫Quindi vorrei che stampaste la posizione degli attori usando questa nuova conoscenza di come possiamo usare i puntatori.

69
00:05:37,160 --> 00:05:40,700
‫Quindi vorrei che tu chiamassi la posizione dell'attore.

70
00:05:40,700 --> 00:05:47,270
‫Utilizzerai l'operatore freccia per guardare attraverso il puntatore e chiamare quella funzione sull'oggetto.

71
00:05:47,270 --> 00:05:51,380
‫All'altra estremità, memorizzerai il vettore F che ne risulta.

72
00:05:51,380 --> 00:06:00,770
‫Quindi chiamerai due stringhe compatte per memorizzare il risultato in una nuova variabile stringa e stamparla nel

73
00:06:00,770 --> 00:06:01,760
‫registro.

74
00:06:02,210 --> 00:06:03,980
‫Metti in pausa il video e prova.

75
00:06:07,430 --> 00:06:07,850
‫Bene.

76
00:06:07,850 --> 00:06:08,570
‫Ben tornato.

77
00:06:08,900 --> 00:06:23,060
‫Quindi creerò un nuovo vettore F chiamato posizione del proprietario e farò la freccia del proprietario, otterrò la posizione

78
00:06:23,750 --> 00:06:24,620
‫dell'attore.

79
00:06:24,950 --> 00:06:27,620
‫Quindi lo convertirò in una stringa.

80
00:06:27,620 --> 00:06:35,540
‫Quindi avrò una stringa X chiamata stringa di posizione del proprietario, e sarà uguale al punto

81
00:06:35,540 --> 00:06:41,870
‫di posizione del proprietario per compattare la stringa in questo modo.

82
00:06:42,080 --> 00:06:42,710
‫Va bene.

83
00:06:42,710 --> 00:06:44,990
‫Quindi ora abbiamo la nostra stringa di posizione.

84
00:06:44,990 --> 00:06:46,820
‫Possiamo stamparlo sul registro.

85
00:06:46,820 --> 00:06:57,230
‫Dirò che il proprietario del motore è questo con percento di posizione s e quella percentuale s avremo un'altra stringa di

86
00:06:57,230 --> 00:07:06,890
‫posizione del proprietario della stella in questo modo e quindi premiamo control alt f 11 e andiamo avanti e premiamo

87
00:07:06,890 --> 00:07:15,110
‫play e loro go abbiamo sia il nome dell'attore che la sua posizione stampati come una

88
00:07:15,110 --> 00:07:15,680
‫stringa.

89
00:07:15,890 --> 00:07:21,710
‫Quindi ora possiamo vedere il potere di avere puntatori ed essere in grado di chiamare funzioni su

90
00:07:21,710 --> 00:07:28,370
‫punti in quanto ci consente di comunicare tra diverse istanze di classi e distingue gli oggetti sono molto più utili.

91
00:07:28,460 --> 00:07:30,050
‫Ci vediamo alla prossima lezione.

