10
วิธีการจำลองการเริ่มต้นอาร์เรย์ C“ int arr [] = {e1, e2, e3, …}” พฤติกรรมกับ std :: array?
(หมายเหตุ: คำถามนี้เป็นคำถามเกี่ยวกับการไม่ต้องระบุจำนวนขององค์ประกอบและยังคงอนุญาตให้มีชนิดที่ซ้อนกันที่จะเริ่มต้นได้โดยตรง.) คำถามนี้กล่าวถึงการใช้งานที่เหลือสำหรับอาร์เรย์ C int arr[20];เช่น ในคำตอบของเขา @James Kanze แสดงหนึ่งในฐานที่มั่นสุดท้ายของอาร์เรย์ C มันเป็นลักษณะการเริ่มต้นที่ไม่ซ้ำกัน: int arr[] = { 1, 3, 3, 7, 0, 4, 2, 0, 3, 1, 4, 1, 5, 9 }; เราไม่ต้องระบุจำนวนองค์ประกอบไชโย! ทีนี้วนซ้ำด้วยฟังก์ชัน C ++ 11 std::beginและstd::endจาก<iterator>( หรือตัวแปรของคุณเอง ) และคุณไม่จำเป็นต้องคิดถึงขนาดของมัน ตอนนี้มีวิธีใดบ้าง (ที่เป็นไปได้ของ TMP) ในการบรรลุเป้าหมายเดียวกันstd::arrayหรือไม่? อนุญาตให้ใช้มาโครเพื่อทำให้ดูดีขึ้น :) ??? std_array = { …