﻿1
00:00:04,350 --> 00:00:05,490
‫Xin chào và chào mừng.

2
00:00:05,490 --> 00:00:10,680
‫Trong bài giảng này, chúng ta sẽ tìm hiểu về cách chúng ta có thể truy cập những gì ở

3
00:00:10,680 --> 00:00:17,760
‫phía bên kia của một con trỏ để thành phần mover của chúng ta có thể nhận các thuộc tính từ tác nhân mà nó tồn tại,

4
00:00:17,760 --> 00:00:21,780
‫chẳng hạn như lấy tên của tác nhân hoặc nhận được vị trí của nó.

5
00:00:21,780 --> 00:00:24,210
‫Hãy đi sâu vào và xem chúng ta có thể làm điều này như thế nào.

6
00:00:24,540 --> 00:00:29,730
‫Vì vậy, tất cả đều rất tốt để có thể có được một con trỏ hoặc có được địa chỉ của một diễn viên.

7
00:00:29,730 --> 00:00:33,660
‫Nhưng chúng tôi cần có khả năng thực sự làm mọi thứ với chính diễn viên.

8
00:00:34,050 --> 00:00:39,630
‫Và quá trình thực hiện điều này hơi khó hiểu nếu chúng ta chỉ nhìn vào diễn viên.

9
00:00:39,630 --> 00:00:47,460
‫Vì vậy, chúng ta sẽ xem xét thực hiện một số con trỏ để trôi ngay tại đây trong thành phần đánh dấu đó.

10
00:00:47,460 --> 00:00:54,210
‫Vì vậy, hãy bắt đầu bằng cách tạo một float, chúng ta sẽ gọi là float của tôi và đặt giá trị này thành giá trị

11
00:00:54,210 --> 00:00:54,990
‫là năm.

12
00:00:55,500 --> 00:01:01,740
‫Sau đó, chúng ta sẽ tạo một con trỏ float, mà tôi sẽ gọi là float của bạn,

13
00:01:01,740 --> 00:01:06,360
‫và chúng ta sẽ đặt đó là địa chỉ của float của tôi.

14
00:01:06,570 --> 00:01:09,900
‫Vì vậy, cả hai đều trỏ đến cùng một địa chỉ trong bộ nhớ.

15
00:01:09,900 --> 00:01:17,010
‫Sự khác biệt là float của bạn là một địa chỉ, vì vậy tôi không thể chỉ in ra giá trị.

16
00:01:17,010 --> 00:01:28,710
‫Vì vậy, nếu tôi muốn làm một nhật ký u và tôi muốn nói rằng giá trị float của bạn bằng phần trăm F, thì tôi đặt vào float

17
00:01:28,710 --> 00:01:29,940
‫của bạn.

18
00:01:29,940 --> 00:01:36,150
‫Điều này sẽ không hiệu quả vì float của bạn là một con trỏ, không phải là float thực tế.

19
00:01:36,600 --> 00:01:41,100
‫Vì vậy, những gì chúng ta cần làm về cơ bản là.

20
00:01:41,870 --> 00:01:44,960
‫Nhận giá trị tại vị trí đó.

21
00:01:45,290 --> 00:01:51,620
‫Vì vậy, cách chúng ta có thể làm điều này, nếu tôi lưu trữ nó trong một biến float mới được gọi là giá

22
00:01:51,620 --> 00:01:56,780
‫trị float, thì tôi sử dụng toán tử tham chiếu D, thực tế cũng là một ngôi sao.

23
00:01:56,780 --> 00:02:00,710
‫Và chúng tôi đặt điều này trước điều mà chúng tôi muốn tham chiếu.

24
00:02:00,710 --> 00:02:04,760
‫Vì vậy, sau đó chúng tôi cung cấp cho nó một con trỏ tới tham chiếu D, trong trường hợp này là float của bạn.

25
00:02:05,030 --> 00:02:09,980
‫Bây giờ hơi lạ khi chúng ta sử dụng những ngôi sao này trong hai bối cảnh khác nhau.

26
00:02:09,980 --> 00:02:16,010
‫Vì vậy, thứ nhất, chúng ta đang sử dụng dấu sao sau kiểu cho chúng ta biết rằng đó là một con trỏ phao.

27
00:02:16,010 --> 00:02:18,970
‫Và khi bạn đang sử dụng nó với một kiểu, nó có nghĩa là đó là một con trỏ.

28
00:02:18,980 --> 00:02:25,760
‫Khi bạn sử dụng dấu sao trước biểu thức con trỏ, bạn đang nói gì ở đó, Hãy cho tôi

29
00:02:25,760 --> 00:02:28,070
‫giá trị tại vị trí này.

30
00:02:28,340 --> 00:02:33,200
‫Vì vậy, sau đó nhận giá trị và sao chép nó thành giá trị float và bây giờ là giá trị float.

31
00:02:33,200 --> 00:02:36,680
‫Chúng tôi chỉ có thể in ra như vậy.

32
00:02:36,680 --> 00:02:41,200
‫Vì vậy, với tất cả những biến đổi đó, chúng ta hãy tiếp tục và biên dịch nó và xem nó hoạt động.

33
00:02:41,210 --> 00:02:42,230
‫Hãy đánh chơi.

34
00:02:42,230 --> 00:02:48,170
‫Và chắc chắn, nó nói rằng giá trị float của bạn là năm, đó là giá trị mà chúng tôi có ban đầu.

35
00:02:48,800 --> 00:02:53,630
‫Bây giờ, chúng tôi thường không lưu trữ giá trị trung gian trong một biến vì điều đó lãng phí.

36
00:02:53,630 --> 00:02:55,640
‫Nó tạo ra một bản sao mà chúng ta không cần.

37
00:02:55,640 --> 00:03:00,800
‫Vì vậy, những gì chúng ta có thể làm thay vào đó là chỉ sử dụng nó trực tiếp trong biểu thức nơi chúng ta cần nó.

38
00:03:00,800 --> 00:03:07,940
‫Vì vậy, giá trị float của bạn sẽ là dấu sao, float của bạn giống như vậy, và điều đó sẽ hoạt động theo cùng một cách, ngoại trừ

39
00:03:07,940 --> 00:03:11,600
‫lần này, nó không tạo một bản sao thành một biến không cần thiết.

40
00:03:11,630 --> 00:03:16,490
‫Bây giờ, giả sử chúng ta muốn lấy tên của diễn viên chủ sở hữu ở đây.

41
00:03:16,490 --> 00:03:23,390
‫Chà, theo cách chúng tôi sẽ làm điều này, hãy xóa nội dung mà chúng tôi đang làm với float là chúng tôi sẽ tham chiếu

42
00:03:23,390 --> 00:03:25,490
‫đến con trỏ chủ sở hữu đó.

43
00:03:25,490 --> 00:03:29,830
‫Vì vậy, chúng tôi là chủ sở hữu ngôi sao thực sự đưa chúng tôi đến với chính diễn viên.

44
00:03:29,840 --> 00:03:36,920
‫Sau đó, chúng ta có thể đặt một cặp dấu ngoặc quanh chủ sở hữu và sau đó chúng ta có thể thực hiện một dấu chấm.

45
00:03:36,920 --> 00:03:44,990
‫Vì vậy, chúng ta đã đưa diễn viên ra khỏi biểu thức này, bây giờ chúng ta có thể sử dụng một dấu chấm để lấy một thứ gì

46
00:03:44,990 --> 00:03:53,030
‫đó từ bên trong diễn viên để chúng ta có thể lấy diễn viên, tên hoặc nhãn, điều này sẽ trả về cho chúng ta một chuỗi f để

47
00:03:53,030 --> 00:04:04,550
‫chúng ta có thể thực hiện chuỗi f tên bằng với điều này và sau đó chúng ta có thể in ra mover chủ sở hữu phần trăm SW Và sau đó thay vì sử dụng chủ sở hữu ở đây, chúng

48
00:04:04,550 --> 00:04:07,760
‫tôi sẽ bắt đầu tên hoặc sau đó mang tên đó.

49
00:04:07,760 --> 00:04:10,430
‫Chúng ta cần đặt ngôi sao trước tên.

50
00:04:10,430 --> 00:04:13,250
‫Đó là một cách sử dụng khác cho toán tử ngôi sao đó.

51
00:04:13,250 --> 00:04:15,230
‫Chúng tôi đã gặp ba người trong số họ.

52
00:04:15,230 --> 00:04:16,700
‫Một là với chuỗi này.

53
00:04:16,700 --> 00:04:18,020
‫Đó là lần đầu tiên chúng tôi thấy nó.

54
00:04:18,020 --> 00:04:23,240
‫Sau đó, nó ở đây với loại và nó cũng ở đây cho D, tham chiếu rất nhiều và rất nhiều cách sử dụng cho

55
00:04:23,240 --> 00:04:24,680
‫chính xác cùng một ký tự.

56
00:04:24,770 --> 00:04:27,050
‫Nhưng đó là cách nó xảy ra với C ++.

57
00:04:27,080 --> 00:04:29,120
‫Hãy đi và thử nó ra và chơi.

58
00:04:29,660 --> 00:04:35,180
‫Và bây giờ bạn có thể thấy rằng nó đang in ra tên của các tác nhân mà bộ chuyển động được gắn vào.

59
00:04:35,180 --> 00:04:42,440
‫Vì vậy, chúng tôi đã đi qua con trỏ đó với toán tử tham chiếu D và có thể gọi một

60
00:04:42,440 --> 00:04:44,600
‫hàm trên một đối tượng khác.

61
00:04:44,600 --> 00:04:50,780
‫Bây giờ thực sự có một cú pháp nhỏ gọn hơn nhiều để thực hiện việc này vì chúng ta rất phổ biến

62
00:04:50,780 --> 00:04:59,090
‫khi muốn lấy một hàm hoặc thuộc tính từ một đối tượng con trỏ thay vì phải làm điều này với các dấu ngoặc đơn và khi chúng tham chiếu đến

63
00:04:59,090 --> 00:05:02,390
‫toán tử, chúng ta có thể hợp nhất tất cả vào một.

64
00:05:02,390 --> 00:05:09,530
‫Chúng tôi có thể xóa tất cả những điều này hoặc di chuyển dấu chấm và thay vào đó, chúng tôi sử dụng toán tử mũi tên này để chúng tôi thực hiện mũi tên chủ

65
00:05:09,530 --> 00:05:14,960
‫sở hữu, lấy diễn viên, tên hoặc nhãn và điều này thực hiện chính xác những điều tương tự, ngoại trừ nó dễ viết hơn rất nhiều.

66
00:05:14,960 --> 00:05:21,680
‫Vì vậy, nói chung sẽ kết thúc với quy tắc trong đó nếu chúng ta có một con trỏ, chúng ta sử dụng toán tử mũi tên.

67
00:05:21,680 --> 00:05:29,360
‫Nếu chúng ta đang sử dụng một cấu trúc như chuỗi F hoặc một vectơ F, chúng ta sử dụng toán tử dấu chấm.

68
00:05:29,420 --> 00:05:37,010
‫Vì vậy, tôi muốn bạn in vị trí của diễn viên bằng cách sử dụng kiến thức mới này về cách chúng ta có thể sử dụng con trỏ.

69
00:05:37,010 --> 00:05:40,730
‫Vì vậy, tôi muốn bạn gọi để tìm vị trí diễn viên.

70
00:05:40,730 --> 00:05:46,880
‫Bạn sẽ sử dụng toán tử mũi tên để xem qua con trỏ và gọi hàm đó trên đối

71
00:05:46,880 --> 00:05:47,330
‫tượng.

72
00:05:47,330 --> 00:05:51,410
‫Ở đầu kia, bạn sẽ lưu trữ vectơ F là kết quả từ đó.

73
00:05:51,410 --> 00:06:00,770
‫Sau đó, bạn sẽ gọi hai chuỗi nhỏ gọn lưu trữ kết quả trong một biến chuỗi F mới và in nó

74
00:06:00,770 --> 00:06:02,060
‫vào nhật ký.

75
00:06:02,090 --> 00:06:04,220
‫Tạm dừng video và tiếp tục.

76
00:06:07,520 --> 00:06:07,880
‫Được chứ.

77
00:06:07,880 --> 00:06:08,840
‫Chào mừng trở lại.

78
00:06:08,840 --> 00:06:23,390
‫Vì vậy, tôi sẽ tạo một vectơ F mới được gọi là vị trí chủ sở hữu và tôi sẽ thực hiện mũi tên chủ sở hữu, lấy vị trí

79
00:06:23,690 --> 00:06:24,890
‫diễn viên.

80
00:06:24,890 --> 00:06:27,650
‫Sau đó, tôi sẽ chuyển đổi điều này thành một chuỗi.

81
00:06:27,650 --> 00:06:35,660
‫Vì vậy, tôi sẽ có một chuỗi F được gọi là chuỗi vị trí chủ sở hữu, và điều đó sẽ

82
00:06:35,660 --> 00:06:42,760
‫bằng với dấu chấm vị trí chủ sở hữu thành chuỗi nhỏ gọn như vậy okey doke.

83
00:06:42,770 --> 00:06:45,020
‫Vì vậy, bây giờ chúng tôi đã có chuỗi vị trí của riêng mình.

84
00:06:45,020 --> 00:06:46,880
‫Chúng tôi có thể in nó vào nhật ký.

85
00:06:46,880 --> 00:06:57,290
‫Tôi sẽ nói rằng chủ sở hữu động cơ là điều này với phần trăm s vị trí và phần trăm s đó chúng ta sẽ có một chuỗi vị

86
00:06:57,290 --> 00:07:06,710
‫trí của chủ sở hữu dấu sao khác như vậy và sau đó nhấn control alt f 11 và chúng tôi sẽ tiếp tục và nhấn play

87
00:07:06,710 --> 00:07:14,630
‫và họ đi, chúng tôi đã có cả tên của diễn viên cũng như vị trí của nó được in ra dưới

88
00:07:14,630 --> 00:07:15,860
‫dạng một chuỗi.

89
00:07:15,860 --> 00:07:21,440
‫Vì vậy, bây giờ chúng ta có thể thấy sức mạnh của việc có con trỏ và có thể gọi các hàm trên con trỏ.

90
00:07:21,440 --> 00:07:28,520
‫Nó cho phép chúng ta giao tiếp giữa các trường hợp khác nhau của các lớp và làm cho các đối tượng của chúng ta hữu ích hơn nhiều.

91
00:07:28,520 --> 00:07:30,290
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.

