﻿1
00:00:04,350 --> 00:00:05,490
‫Merhaba ve hoş geldiniz.

2
00:00:05,490 --> 00:00:10,680
‫Bu derste, bir işaretçinin diğer tarafındakine nasıl erişebileceğimizi

3
00:00:10,680 --> 00:00:17,760
‫öğreneceğiz, böylece mover bileşenimiz üzerinde bulunduğu aktörden aktörün adını veya konumunu

4
00:00:17,760 --> 00:00:21,780
‫almak gibi özellikleri alabilir.

5
00:00:21,780 --> 00:00:24,210
‫Şimdi bunu nasıl yapabileceğimizi görelim.

6
00:00:24,540 --> 00:00:29,730
‫Dolayısıyla, bir işaretçi alabilmek veya bir aktörün adresini alabilmek çok iyidir.

7
00:00:29,730 --> 00:00:33,660
‫Ancak aktörün kendisiyle gerçekten bir şeyler yapabilmemiz gerekiyor.

8
00:00:34,050 --> 00:00:39,630
‫Ve sadece aktöre bakarsak bunu yapma sürecini anlamak biraz zor.

9
00:00:39,630 --> 00:00:47,460
‫Bu yüzden, bu tik bileşeninin içinde kayan noktalara bazı işaretçiler yapmaya bir göz atacağız.

10
00:00:47,460 --> 00:00:54,990
‫Şimdi, my float adını vereceğimiz bir float oluşturarak başlayalım ve bunu beş değerine ayarlayalım.

11
00:00:55,500 --> 00:01:01,740
‫Ardından, sizin float'ınız olarak adlandıracağım bir float işaretçisi oluşturacağız

12
00:01:01,740 --> 00:01:06,360
‫ve bunu benim float'ımın adresi olarak ayarlayacağız.

13
00:01:06,570 --> 00:01:09,900
‫Yani bunların ikisi de bellekte aynı adrese işaret ediyor.

14
00:01:09,900 --> 00:01:17,010
‫Aradaki fark, float değerinizin bir adres olması, bu nedenle değeri yazdıramıyorum.

15
00:01:17,010 --> 00:01:28,710
‫Yani bir u logu yapmak istiyorsam ve float değerinizin F yüzdesine eşit olduğunu söylemek istiyorsam, float değerinizi

16
00:01:28,710 --> 00:01:29,940
‫giriyorum.

17
00:01:29,940 --> 00:01:36,150
‫Bu işe yaramayacaktır çünkü float'ınız gerçek bir float değil, bir işaretçidir.

18
00:01:36,600 --> 00:01:41,100
‫Yani esasen yapmamız gereken şey.

19
00:01:41,870 --> 00:01:44,960
‫O konumdaki değeri alın.

20
00:01:45,290 --> 00:01:51,620
‫Bunu yapabilmemizin yolu, float value adında yeni bir float değişkende saklamak ve ardından

21
00:01:51,620 --> 00:01:56,780
‫aslında bir yıldız olan D referanslama operatörünü kullanmaktır.

22
00:01:56,780 --> 00:02:00,710
‫Ve bunu referans vermek istediğimiz şeyin önüne koyuyoruz.

23
00:02:00,710 --> 00:02:04,760
‫Daha sonra ona D referansına bir işaretçi veririz, bu durumda bu sizin float'ınızdır.

24
00:02:05,030 --> 00:02:09,980
‫Şimdi bu yıldızları iki farklı bağlamda kullanmamız biraz garip.

25
00:02:09,980 --> 00:02:16,010
‫Birincisi, türden sonra yıldız kullanıyoruz, bu da bize bunun bir float pointer olduğunu söylüyor.

26
00:02:16,010 --> 00:02:18,970
‫Ve bunu bir türle birlikte kullandığınızda, bu onun bir işaretçi olduğu anlamına gelir.

27
00:02:18,980 --> 00:02:25,760
‫Bir işaretçi ifadesinden önce bir yıldız kullandığınızda, burada yaptığınız şey, "Bana bu konumdaki

28
00:02:25,760 --> 00:02:28,070
‫değeri getir" demek olur.

29
00:02:28,340 --> 00:02:33,200
‫Böylece değeri alır ve float değerine kopyalar ve şimdi float değeri.

30
00:02:33,200 --> 00:02:36,680
‫Bu şekilde çıktı alabiliriz.

31
00:02:36,680 --> 00:02:41,200
‫O halde tüm bu kıvrımlarla birlikte, devam edelim ve derleyip iş başında görelim.

32
00:02:41,210 --> 00:02:42,230
‫Oynat tuşuna basalım.

33
00:02:42,230 --> 00:02:48,170
‫Ve tabii ki, float değerinizin beş olduğunu söylüyor, bu da başlangıçta sahip olduğumuz değer.

34
00:02:48,800 --> 00:02:53,630
‫Şimdi, genellikle ara değeri bir değişkende saklamayız çünkü bu israftır.

35
00:02:53,630 --> 00:02:55,640
‫İhtiyacımız olmayan bir kopya yaratıyor.

36
00:02:55,640 --> 00:03:00,800
‫Bunun yerine yapabileceğimiz şey, bunu doğrudan ihtiyaç duyduğumuz ifadede kullanmaktır.

37
00:03:00,800 --> 00:03:07,940
‫Yani float değeriniz star olacak, float değeriniz şu şekilde olacak ve bu tamamen aynı şekilde çalışacak, ancak

38
00:03:07,940 --> 00:03:11,600
‫bu sefer gereksiz bir değişkene kopyalama yapmayacak.

39
00:03:11,630 --> 00:03:16,490
‫Şimdi, buradaki aktörün adını almak istediğimizi varsayalım.

40
00:03:16,490 --> 00:03:23,390
‫Bunu yapmanın yolu, float'larla yaptığımız bu şeyi kaldıralım, sahip işaretçisine

41
00:03:23,390 --> 00:03:25,490
‫referans vermektir.

42
00:03:25,490 --> 00:03:29,830
‫Bu yüzden bizi aktörün kendisine götüren yıldız sahibi yapıyoruz.

43
00:03:29,840 --> 00:03:36,920
‫Daha sonra sahibinin etrafına bir çift parantez koyabilir ve ardından bir nokta yapabiliriz.

44
00:03:36,920 --> 00:03:44,990
‫Böylece aktörü bu ifadeden çıkardık, şimdi aktörün içinden bir şey almak için bir nokta kullanabiliriz,

45
00:03:44,990 --> 00:03:53,030
‫böylece bize bir f dizesi döndürecek olan get actor, name veya label yapabiliriz, böylece f string

46
00:03:53,030 --> 00:04:04,550
‫name equals to this yapabiliriz ve sonra mover owner percent SW yazdırabiliriz ve sonra burada owner kullanmak yerine, name'i başlatacağız

47
00:04:04,550 --> 00:04:07,760
‫veya sonra bunu getireceğiz.

48
00:04:07,760 --> 00:04:10,430
‫Bir ismin önüne yıldız koymamız gerekiyor.

49
00:04:10,430 --> 00:04:13,250
‫Bu da yıldız operatörü için başka bir kullanım alanı.

50
00:04:13,250 --> 00:04:15,230
‫Zaten üç tanesiyle karşılaştık.

51
00:04:15,230 --> 00:04:16,700
‫Biri bu dizeyle.

52
00:04:16,700 --> 00:04:18,020
‫Bunu ilk kez görüyoruz.

53
00:04:18,020 --> 00:04:23,240
‫Sonra burada yazıyla birlikte ve aynı zamanda D için de burada, tam olarak aynı karakter için çok sayıda kullanıma

54
00:04:23,240 --> 00:04:24,680
‫atıfta bulunuyor.

55
00:04:24,770 --> 00:04:27,050
‫Ama C++'da durum böyle.

56
00:04:27,080 --> 00:04:29,120
‫Hadi gidip deneyelim ve oynat düğmesine basalım.

57
00:04:29,660 --> 00:04:35,180
‫Ve şimdi taşıyıcının bağlı olduğu aktörlerin adını yazdırdığını görebilirsiniz.

58
00:04:35,180 --> 00:04:42,440
‫Böylece D referanslama operatörü ile bu işaretçiye ulaştık ve farklı bir nesne üzerinde bir

59
00:04:42,440 --> 00:04:44,600
‫fonksiyon çağırabildik.

60
00:04:44,600 --> 00:04:50,780
‫Aslında bunu yapmak için çok daha kompakt bir sözdizimi var çünkü bunu parantezlerle yapmak

61
00:04:50,780 --> 00:04:59,090
‫yerine bir işaretçi nesneden bir işlev veya özellik almak istememiz çok yaygındır ve referans operatörü olarak bunların

62
00:04:59,090 --> 00:05:02,390
‫hepsini bir araya getirebiliriz.

63
00:05:02,390 --> 00:05:09,530
‫Tüm bunları kaldırabilir veya noktayı taşıyabiliriz ve bunun yerine bu ok operatörünü kullanırız, böylece owner arrow, get

64
00:05:09,530 --> 00:05:14,960
‫actor, name veya label yaparız ve bu tamamen aynı şeyi yapar, ancak yazması çok daha kolaydır.

65
00:05:14,960 --> 00:05:21,680
‫Genel olarak konuşursak, bir işaretçimiz varsa ok operatörünü kullandığımız kuralla sonuçlanacaktır.

66
00:05:21,680 --> 00:05:29,360
‫F dizesi veya F vektörü gibi bir yapı kullanıyorsak, nokta operatörünü kullanırız.

67
00:05:29,420 --> 00:05:37,010
‫İşaretçileri nasıl kullanabileceğimize ilişkin bu yeni bilgiyi kullanarak aktörün konumunu yazdırmanızı istiyorum.

68
00:05:37,010 --> 00:05:40,730
‫Bu yüzden sizden aktörün yerini öğrenmenizi istiyorum.

69
00:05:40,730 --> 00:05:47,330
‫İşaretçiye bakmak ve nesne üzerinde bu işlevi çağırmak için ok operatörünü kullanacaksınız.

70
00:05:47,330 --> 00:05:51,410
‫Diğer uçta, bunun sonucunda ortaya çıkan F vektörünü depolayacaksınız.

71
00:05:51,410 --> 00:06:02,060
‫Ardından iki kompakt dize çağıracak, sonucu yeni bir F dize değişkeninde saklayacak ve bunu günlüğe yazdıracaksınız.

72
00:06:02,090 --> 00:06:04,220
‫Videoyu duraklatın ve deneyin.

73
00:06:07,520 --> 00:06:07,880
‫Tamam.

74
00:06:07,880 --> 00:06:08,840
‫Tekrar hoş geldiniz.

75
00:06:08,840 --> 00:06:24,890
‫Bu yüzden sahip konumu adında yeni bir F vektörü oluşturacağım ve sahip oku, aktör konumu al yapacağım.

76
00:06:24,890 --> 00:06:27,650
‫Sonra bunu bir dizeye dönüştüreceğim.

77
00:06:27,650 --> 00:06:35,660
‫Bu yüzden sahip konumu dizesi adında bir F dizem olacak ve bu, sahip konumu

78
00:06:35,660 --> 00:06:42,760
‫noktasının kompakt dizeye eşit olacak, yani okey doke.

79
00:06:42,770 --> 00:06:45,020
‫Artık kendi konum dizgimiz var.

80
00:06:45,020 --> 00:06:46,880
‫Bunu günlüğe yazdırabiliriz.

81
00:06:46,880 --> 00:06:57,290
‫Taşıyıcı sahibinin konum yüzde s ile bu olduğunu söyleyeceğim ve bu yüzde s gibi başka bir yıldız

82
00:06:57,290 --> 00:07:06,710
‫sahibi konum dizesine sahip olacağız ve sonra control alt f 11'e basacağız ve devam edip

83
00:07:06,710 --> 00:07:15,860
‫oynat'a basacağız ve hem aktörün adını hem de konumunu bir dize olarak yazdırdık.

84
00:07:15,860 --> 00:07:21,440
‫Şimdi işaretçilere sahip olmanın ve işaretçiler üzerinde fonksiyon çağırabilmenin gücünü görebiliriz.

85
00:07:21,440 --> 00:07:28,520
‫Farklı sınıf örnekleri arasında iletişim kurmamızı sağlar ve nesnelerimizi çok daha kullanışlı hale getirir.

86
00:07:28,520 --> 00:07:30,290
‫Bir sonraki derste görüşürüz.

