‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะเรียนรู้ว่าเราสามารถเข้าถึงสิ่งที่อยู่อีกด้านหนึ่งของตัวชี้ได้อย่างไร
‫เพื่อให้องค์ประกอบผู้เสนอญัตติของเราได้รับคุณสมบัติจากนักแสดงที่มันอาศัยอยู่ เช่น ได้ชื่อนักแสดงหรือ
‫ได้รับตำแหน่ง
‫มาดูกันว่าเราจะทำได้อย่างไร
‫ดังนั้นจึงเป็นเรื่องดีที่จะได้ตัวชี้หรือที่อยู่ของนักแสดง
‫แต่เราจำเป็นต้องสามารถทำอะไรกับนักแสดงได้จริง
‫และขั้นตอนในการทำเช่นนี้ค่อนข้างยุ่งยากที่จะเข้าใจหากเราเพียงแค่มองไปที่นักแสดง
‫เราจะดูที่การทำพอยน์เตอร์เพื่อลอยอยู่ที่นี่ภายในองค์ประกอบติ๊กนั้น
‫มาเริ่มกันด้วยการสร้างทุ่น ซึ่งเราจะเรียกว่าทุ่นของฉัน และตั้งค่านี้เป็นห้า
‫จากนั้นเราจะสร้างโฟลตพอยน์เตอร์ ซึ่งฉันจะเรียกโฟลตของคุณ และเราจะตั้งค่านั้นเป็นแอดเดรสของโฟลตของฉัน
‫ทั้งสองจึงชี้ไปยังที่อยู่เดียวกันในหน่วยความจำ
‫ความแตกต่างคือโฟลตของคุณเป็นที่อยู่ ดังนั้นฉันจึงไม่สามารถพิมพ์ค่าออกมาได้
‫ดังนั้นหากผมต้องการทำบันทึกของคุณ และผมอยากบอกว่าค่าทศนิยมของคุณเท่ากับเปอร์เซ็นต์ F ผมก็จะใส่ทุ่นของคุณลงไป
‫วิธีนี้ใช้ไม่ได้ผลเพราะโฟลตของคุณเป็นตัวชี้ ไม่ใช่โฟลตจริง
‫ดังนั้นสิ่งที่เราต้องทำก็คือ
‫รับคุณค่าจากสถานที่นั้นๆ
‫วิธีที่เราสามารถทำได้ ถ้าต้องเก็บไว้ในตัวแปร float ใหม่ที่เรียกว่า float value
‫ผมก็ใช้ตัวดำเนินการอ้างอิง D ซึ่งจริงๆ แล้วเป็นดาวด้วยเช่นกัน
‫และเราใส่สิ่งนี้ก่อนสิ่งที่เราต้องการอ้างอิง
‫ดังนั้นเราจึงให้ตัวชี้ไปยังการอ้างอิง D ซึ่งในกรณีนี้คือทุ่นของคุณ
‫ตอนนี้มันแปลกนิดหน่อยที่เราใช้ดาวเหล่านี้ในบริบทที่แตกต่างกันสองแบบ
‫อย่างหนึ่ง เรากำลังใช้รูปดาวตามแบบที่บอกว่าเป็นตัวชี้แบบลอยตัว
‫และเมื่อคุณใช้กับประเภท แสดงว่าเป็นตัวชี้
‫เมื่อคุณใช้ดาวก่อนนิพจน์ตัวชี้ สิ่งที่คุณกำลังทำอยู่คือคุณกำลังพูดว่า รับค่าที่ตำแหน่งนี้มาให้ฉัน
‫จากนั้นจึงรับค่าและคัดลอกเป็นค่าทศนิยมและตอนนี้เป็นค่าทศนิยม
‫เราสามารถพิมพ์ออกมาแบบนั้นได้
‫ดังนั้นด้วยการบิดเบี้ยวเหล่านั้น ให้ลองคอมไพล์ดูและใช้งานจริง
‫มาตีกันเล่นๆ
‫และนั่นเองที่บอกว่าค่าทศนิยมของคุณคือ 5 ซึ่งเป็นค่าที่เรามีตั้งแต่แรก
‫ปกติแล้วเราจะไม่เก็บค่ากลางไว้ในตัวแปรเพราะมันสิ้นเปลือง
‫กำลังสร้างสำเนาที่เราไม่ต้องการ
‫สิ่งที่เราทำได้คือใช้สิ่งนั้นโดยตรงในนิพจน์ที่เราต้องการ
‫ดังนั้นค่า float ของคุณจะเป็น star, float ของคุณเป็นเช่นนั้น และนั่นก็จะทำงานในลักษณะเดียวกันทุกประการ ยกเว้นคราวนี้
‫มันจะไม่ทำการคัดลอกไปยังตัวแปรที่ไม่จำเป็น
‫สมมติว่าเราต้องการได้ชื่อนักแสดงเจ้าของที่นี่
‫วิธีที่เราจะทำเช่นนี้ ลองลบสิ่งที่เราทำกับ floats คือเราจะอ้างอิงพอยน์เตอร์ของเจ้าของนั้น
‫ดังนั้นเราจึงสร้างเจ้าของดาวซึ่งทำให้เราได้พบกับนักแสดงจริงๆ
‫จากนั้นเราสามารถใส่วงเล็บคู่หนึ่งรอบเจ้าของแล้วเราก็ทำการจุด
‫เราเลยเอานักแสดงออกจากนิพจน์นี้ ตอนนี้เราสามารถใช้จุดเพื่อดึงบางสิ่งจากข้างในนักแสดง
‫เราจะได้นักแสดง ชื่อหรือป้ายกำกับ ซึ่งจะคืนสตริง f ให้เรา เราจะได้สตริง f
‫ชื่อเท่ากับนี่แล้วเราสามารถพิมพ์เจ้าของเสนอญัตติ SW และแทนที่จะใช้เจ้าของที่นี่ เราจะเริ่มชื่อหรือนำสิ่งนั้นมา
‫เราต้องใส่ดาวไว้ข้างหน้าชื่อ
‫นั่นเป็นอีกหนึ่งการใช้งานสำหรับผู้ดำเนินการดาวดวงนั้น
‫เราเคยเจอมาแล้วสามคน
‫หนึ่งอยู่กับสตริงนี้
‫นั่นเป็นครั้งแรกที่เราได้เห็นมัน
‫จากนั้นก็มาถึงที่นี่พร้อมกับประเภทและที่นี่สำหรับ D ด้วย ซึ่งอ้างอิงถึงการใช้งานมากมายสำหรับตัวละครตัวเดียวกันทุกประการ
‫แต่นั่นเป็นวิธีที่ C++
‫ไปลองเล่นกันดูนะครับ
‫และตอนนี้คุณจะเห็นว่ากำลังพิมพ์ชื่อนักแสดงที่ผู้เสนอญัตติอยู่ด้วย
‫ดังนั้นเราจึงไปถึงตัวชี้นั้นด้วยตัวดำเนินการอ้างอิง D และสามารถเรียกใช้ฟังก์ชันบนวัตถุอื่นได้
‫จริงๆ แล้ว มีรูปแบบที่กะทัดรัดกว่านี้มากสำหรับการทำเช่นนี้ เพราะเป็นเรื่องปกติที่เราจะต้องการรับฟังก์ชันหรือคุณสมบัติจากวัตถุพอยน์เตอร์
‫แทนที่จะต้องทำสิ่งนี้ด้วยวงเล็บ และในขณะที่มันอ้างอิงตัวดำเนินการ เราสามารถรวมสิ่งนี้ได้ทั้งหมด เป็นหนึ่ง
‫เราสามารถลบทั้งหมดนี้หรือย้ายจุด และเราใช้โอเปอเรเตอร์ลูกศรนี้แทน เพื่อให้เราทำลูกศรของเจ้าของ รับนักแสดง
‫ชื่อหรือป้ายกำกับ และสิ่งนี้ทำสิ่งเดียวกันทุกประการ ยกเว้นว่าเขียนง่ายกว่ามาก
‫โดยทั่วไปแล้ว การพูดจะจบลงด้วยกฎที่ว่า ถ้าเรามีตัวชี้ เราใช้ตัวดำเนินการลูกศร
‫หากเราใช้โครงสร้างเช่นสตริง F หรือเวกเตอร์ F เราใช้ตัวดำเนินการจุด
‫ฉันต้องการให้คุณพิมพ์ตำแหน่งของนักแสดงโดยใช้ความรู้ใหม่นี้ว่าเราจะใช้พอยน์เตอร์ได้อย่างไร
‫เลยอยากให้คุณโทรไปขอตำแหน่งนักแสดง
‫คุณจะใช้ตัวดำเนินการลูกศรเพื่อดูผ่านตัวชี้และเรียกใช้ฟังก์ชันนั้นบนวัตถุ
‫อีกด้านหนึ่ง คุณจะต้องเก็บเวกเตอร์ F ที่เป็นผลลัพธ์จากนั่น
‫จากนั้นคุณจะเรียกสตริงที่กะทัดรัดสองอันเก็บผลลัพธ์ในตัวแปรสตริง F ใหม่และพิมพ์ลงในบันทึก
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫ฉันจะสร้างเวกเตอร์ F ใหม่ที่เรียกว่า ตำแหน่งเจ้าของ และฉันจะทำลูกศรของเจ้าของ หาตำแหน่งนักแสดง
‫จากนั้นฉันจะแปลงเป็นสตริง
‫ผมจะได้สตริง F ที่เรียกว่า สตริงตำแหน่งเจ้าของ และนั่นจะเท่ากับตำแหน่งเจ้าของดอทถึงสตริงที่กะทัดรัด
‫โอเค โดก
‫ตอนนี้เรามีสตริงที่ตั้งของเราเองแล้ว
‫เราสามารถพิมพ์สิ่งนั้นลงในบันทึก
‫ฉันจะบอกว่าเจ้าของผู้เสนอญัตติคือสิ่งนี้โดยมีเปอร์เซ็นต์ตำแหน่งและเปอร์เซ็นต์นั้นเราจะมีสตริงตำแหน่งเจ้าของดาวอีกคนหนึ่งเช่นนั้นแล้วกด
‫control alt f 11 และเราจะดำเนินการต่อและกดปุ่มเล่นและ พวกเขาไป เรามีทั้งชื่อของนักแสดงและตำแหน่งของมันพิมพ์ออกมาเป็นสตริง
‫ตอนนี้เราสามารถเห็นพลังของการมีพอยน์เตอร์และสามารถเรียกใช้ฟังก์ชันบนพอยน์เตอร์ได้
‫ช่วยให้เราสามารถสื่อสารระหว่างอินสแตนซ์ต่างๆ ของคลาส และทำให้วัตถุของเรามีประโยชน์มากขึ้น
‫เจอกันใหม่ตอนหน้าค่ะ