กลับไปหน้าบทความ

อ่าน 2 นาที

การเริ่มต้น (การเขียนโปรแกรมคอมพิวเตอร์)

เปลี่ยนทางจากการรวม

ในการเขียนโปรแกรมคอมพิวเตอร์การ กำหนดค่าเริ่มต้น (initialization) หรือการกำหนดค่าเริ่มต้นคือการกำหนดค่าเริ่มต้นให้กับวัตถุข้อมูลหรือตัวแปรวิธีการกำหนดค่าเริ่มต้นนั้นขึ้นอยู่กับภาษา...

การเริ่มต้น (การเขียนโปรแกรมคอมพิวเตอร์)

ในการเขียนโปรแกรมคอมพิวเตอร์การ กำหนดค่าเริ่มต้น (initialization) หรือการกำหนดค่าเริ่มต้นคือการกำหนดค่าเริ่มต้นให้กับวัตถุข้อมูลหรือตัวแปรวิธีการกำหนดค่าเริ่มต้นนั้นขึ้นอยู่กับภาษาโปรแกรมรวมถึงชนิดข้อมูล คลาสการจัดเก็บ ฯลฯ ของวัตถุที่จะกำหนดค่าเริ่มต้น โครงสร้างการเขียนโปรแกรมที่ใช้ในการกำหนดค่าเริ่มต้นมักเรียกว่า ตัวกำหนดค่าเริ่มต้น(initializers)และรายการตัวกำหนดค่าเริ่มต้น (initializer lists ) การกำหนดค่าเริ่มต้นนั้นแตกต่างจาก (และนำหน้าด้วย) การประกาศแม้ว่าในทางปฏิบัติบางครั้งอาจมีการสับสนระหว่างสองสิ่งนี้ได้ ส่วนเติมเต็มของการกำหนดค่าเริ่มต้นคือการกำหนดค่าสุดท้าย (finalization ) ซึ่งส่วนใหญ่ใช้กับวัตถุ แต่ไม่ใช่ตัวแปร

การกำหนดค่าเริ่มต้นทำได้โดยการกำหนดค่าแบบคงที่ในระหว่างการคอมไพล์ หรือโดยการกำหนดค่าในระหว่างการทำงานส่วนของโค้ดที่ทำการกำหนดค่าเริ่มต้นดังกล่าวโดยทั่วไปเรียกว่า "โค้ดเริ่มต้น" และอาจรวมถึงฟังก์ชันอื่นๆ ที่ใช้งานเพียงครั้งเดียว เช่น การเปิดไฟล์ ในการเขียนโปรแกรมเชิงวัตถุโค้ดเริ่มต้นอาจเป็นส่วนหนึ่งของคอนสตรัคเตอร์ (เมธอดของคลาส) หรืออินทิเกรเตอร์ (เมธอดของอินสแตนซ์) การตั้งค่าตำแหน่งหน่วยความจำให้เป็นศูนย์ใน เลข ฐานสิบหกบางครั้งเรียกว่า "การล้าง" และมักทำโดย คำสั่ง OR (ตัวถูกดำเนินการทั้งสองระบุตัวแปรเดียวกัน) ใน ระดับ โค้ดเครื่องเนื่องจากไม่จำเป็นต้องเข้าถึงหน่วยความจำเพิ่มเติม

ตระกูลภาษาซี

ตัวเริ่มต้น

ในภาษา C/C99/C++ ตัวเริ่มต้น (initializer ) เป็นส่วนที่ไม่บังคับของตัวประกาศ (declarator) ประกอบด้วยเครื่องหมาย '=' ตามด้วยนิพจน์หรือรายการนิพจน์ที่คั่นด้วยเครื่องหมายจุลภาคซึ่งอยู่ในวงเล็บปีกกา (หรือวงเล็บปีกกา) รายการหลังนี้บางครั้งเรียกว่า "รายการเริ่มต้น" (initializer list) หรือ "รายการการกำหนดค่าเริ่มต้น" (initialization list) (แม้ว่าคำว่า "รายการเริ่มต้น" จะสงวนไว้สำหรับการกำหนดค่าเริ่มต้นของสมาชิกคลาส/โครงสร้างใน C++ อย่างเป็นทางการดูด้านล่าง ) การประกาศที่สร้างวัตถุข้อมูล แทนที่จะเพียงแค่บรรยายการมีอยู่ของมัน มักเรียกว่าคำจำกัดความ (definition )

หลายคนพบว่าสะดวกที่จะแยกความแตกต่างระหว่างคำว่า "การประกาศ" และ "คำจำกัดความ" ดังเช่นวลีที่พบเห็นได้ทั่วไปว่า "ความแตกต่างระหว่างการประกาศและคำจำกัดความ ..." ซึ่งหมายความว่าการประกาศเป็นเพียงการกำหนดวัตถุข้อมูล (หรือฟังก์ชัน) เท่านั้น ในความเป็นจริง ตามมาตรฐาน C++คำจำกัดความคือการประกาศ ถึงกระนั้น การใช้คำว่า "การประกาศและคำจำกัดความ" แม้จะไม่ถูกต้องตามหลักการ แต่ก็เป็นเรื่องปกติ[ 1 ]แม้ว่าคำจำกัดความทั้งหมดจะเป็นการประกาศ แต่การประกาศทั้งหมดไม่จำเป็นต้องเป็นคำจำกัดความ

ตัวอย่างภาษา C:

int i = 0 ; int k [ 4 ] = { 0 , 1 }; char tx [ 3 ] = 'a' ; char ty [ 2 ] = 'f' ; struct Point { int x ; int y ; } p = { . y = 13 , . x = 7 };

ตัวอย่างภาษา C++:

int i2 = 0 ; int i3 ( 0 ); int i4 { 0 }; int j [ 2 ] = { rand (), k [ 0 ]}; MyClass * xox = new MyClass ( 0 , "zaza" ); Point q = { 0 , i + 1 };

รายการเริ่มต้นสมาชิก

ในภาษา C++ คอนสตรัคเตอร์ของคลาส/สตรัคเตอร์สามารถมีรายการกำหนดค่าเริ่มต้นให้กับสมาชิกได้ภายในคำจำกัดความ แต่ก่อนส่วนเนื้อหาของคอนสตรัคเตอร์ เมื่อใช้รายการกำหนดค่าเริ่มต้น ค่าจะไม่ถูกกำหนดให้กับตัวแปร แต่จะถูกกำหนดค่าเริ่มต้นให้ ในตัวอย่างด้านล่างreและimจะถูกกำหนดค่าเริ่มต้นให้เท่ากับค่าพารามิเตอร์ของคอนสตรัคเตอร์ ตัวอย่าง:

คลาสGaussianInteger { private : int re ; int im ; public : GaussianInteger ( int re = 0 , int im = 0 ) : re { re }, im { im } {} };

ในที่นี้ โครงสร้างดังกล่าวre{re}, im{im}คือรายการเริ่มต้น (initializer list)

บางครั้งคำว่า "รายการเริ่มต้น" ยังใช้เพื่ออ้างถึงรายการนิพจน์ในตัวเริ่มต้นอาร์เรย์หรือโครงสร้างอีกด้วย

C++11นำเสนอแนวคิดที่ทรงพลังยิ่งขึ้นเกี่ยวกับรายการเริ่มต้น (initializer lists)โดยใช้เทมเพลตที่เรียกว่าstd::initializer_list` <initializer list>`

การเริ่มต้นค่าเริ่มต้น

การกำหนดค่าเริ่มต้นให้กับข้อมูลอาจเกิดขึ้นได้โดยไม่ต้องใช้ไวยากรณ์ที่ระบุไว้อย่างชัดเจนในโปรแกรม ตัวอย่างเช่น หากตัวแปรแบบสแตติก ถูกประกาศโดยไม่มีตัวกำหนดค่าเริ่มต้น ตัวแปรประเภทข้อมูลพื้นฐานจะถูกกำหนดค่าเริ่มต้นด้วยค่าศูนย์ของประเภทนั้นๆ ในขณะที่อ็อบเจ็กต์แบบสแตติกของประเภทคลาสจะถูกกำหนดค่าเริ่มต้นด้วยค่าจากคอนสตรัคเตอร์เริ่ม ต้นของคลาสนั้น ๆ

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Initialization_(computer_programming)&oldid=1359560682 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเริ่มต้น (การเขียนโปรแกรมคอมพิวเตอร์)

ในการเขียนโปรแกรมคอมพิวเตอร์การ กำหนดค่าเริ่มต้น (initialization) หรือการกำหนดค่าเริ่มต้นคือการกำหนดค่าเริ่มต้นให้กับวัตถุข้อมูลหรือตัวแปรวิธีการกำหนดค่าเริ่มต้นนั้นขึ้นอยู่กับภาษา...

ตัวเริ่มต้น

ในภาษา C/C99/C++ ตัวเริ่มต้น (initializer ) เป็นส่วนที่ไม่บังคับของ ตัวประกาศ (declarator) ประกอบด้วยเครื่องหมาย '=' ตามด้วย นิพจน์ หรือรายการนิพจน์ที่คั่นด้วยเครื่องหมายจุลภาคซึ่งอยู่ในวงเล็บปีกกา (หรือวงเล็บปีกกา) รายการหลังนี้บางครั้งเรียกว่า...

รายการเริ่มต้นสมาชิก

ในภาษา C++ คอนสตรัคเตอร์ ของคลาส/สตรัคเตอร์สามารถมี รายการกำหนดค่าเริ่มต้นให้กับสมาชิกได้ ภายในคำจำกัดความ แต่ก่อนส่วนเนื้อหาของคอนสตรัคเตอร์ เมื่อใช้รายการกำหนดค่าเริ่มต้น ค่าจะไม่ถูกกำหนดให้กับตัวแปร แต่จะถูกกำหนดค่าเริ่มต้นให้ ในตัวอย่างด้านล่าง re และ im...

การเริ่มต้นค่าเริ่มต้น

การกำหนดค่าเริ่มต้นให้กับข้อมูลอาจเกิดขึ้นได้โดยไม่ต้องใช้ไวยากรณ์ที่ระบุไว้อย่างชัดเจนในโปรแกรม ตัวอย่างเช่น หาก ตัวแปรแบบสแตติก ถูกประกาศโดยไม่มีตัวกำหนดค่าเริ่มต้น ตัวแปร ประเภทข้อมูลพื้นฐาน จะถูกกำหนดค่าเริ่มต้นด้วยค่าศูนย์ของประเภทนั้นๆ...