22
ตัวสร้างแบบคงที่ใน C ++? ฉันต้องเริ่มต้นวัตถุคงที่ส่วนตัว
ฉันต้องการคลาสที่มีสมาชิกข้อมูลสแตติกส่วนตัว (เวกเตอร์ที่มีอักขระ az ทั้งหมด) ใน java หรือ C # ฉันสามารถสร้าง "static constructor" ที่จะทำงานก่อนที่ฉันจะสร้างอินสแตนซ์ของคลาสและตั้งค่าสมาชิกข้อมูลคงที่ของคลาส มันถูกเรียกใช้เพียงครั้งเดียว (เนื่องจากตัวแปรถูกอ่านอย่างเดียวและจำเป็นต้องตั้งค่าเพียงครั้งเดียว) และเนื่องจากเป็นฟังก์ชันของคลาสจึงสามารถเข้าถึงสมาชิกส่วนตัวได้ ฉันสามารถเพิ่มโค้ดใน Constructor ที่ตรวจสอบเพื่อดูว่าเวกเตอร์เริ่มต้นได้หรือไม่และเริ่มต้นถ้าไม่ใช่ แต่แนะนำการตรวจสอบที่จำเป็นมากมายและดูเหมือนจะไม่เป็นทางออกที่ดีที่สุดสำหรับปัญหา ความคิดเกิดขึ้นกับฉันว่าเนื่องจากตัวแปรจะอ่านได้อย่างเดียวพวกเขาสามารถเป็น const คงที่แบบสาธารณะดังนั้นฉันจึงสามารถตั้งค่าพวกเขาอีกครั้งนอกชั้นเรียน แต่อีกครั้งดูเหมือนว่าแฮ็คที่น่าเกลียด เป็นไปได้หรือไม่ที่จะมีสมาชิกข้อมูลสแตติกส่วนตัวในชั้นเรียนหากฉันไม่ต้องการเริ่มต้นพวกเขาใน Constructor อินสแตนซ์?