ការបង្កើតលិបិក្រមទៅជាអារេនៅក្នុង C ++

ដោយ Stephen R. Davis

នៅក្នុង C ++ អ្នកត្រូវតែផ្តល់ឯកសារមួយ សន្ទស្សន៍ ដើម្បីចូលដំណើរការធាតុជាក់លាក់មួយនៅក្នុងអារេ។ លិបិក្រមត្រូវតែជាប្រភេទរាប់ (ដូចជាint) ដូចដែលបានបង្ហាញនៅទីនេះ៖



nScores[11] = 10;

នេះគឺស្រដៀងនឹងវិធីដែលរថយន្តជួលត្រូវបានដាក់លេខ។ ទោះយ៉ាងណាក៏ដោយមិនដូចមនុស្សទេ C ++ ចាប់ផ្តើមជាមួយលេខ 0 នៅពេលដែលដាក់លេខរៀងរបស់វា។ ដូច្នេះពិន្ទុដំបូងនៅក្នុងអារេលេខគឺលេខរៀង [0]



ដូច្នេះតើការងារនេះយ៉ាងដូចម្តេច? ល្អគិតពីចំណតឡានជួល។ តួលេខនេះបង្ហាញពីរបៀបដែលរថយន្តជួលជាទូទៅត្រូវបានដាក់លេខនៅក្នុងចំណតរបស់ពួកគេ។ ឡានដំបូងនៅជួរខអនុវត្តការរចនាប៊ី ១ ។ ដើម្បីស្វែងរករថយន្ត B11 អ្នកគ្រាន់តែផ្លាស់ប្តូរឡាន ១០ របស់អ្នកទៅខាងស្តាំ។

image0.jpg



C ++ ធ្វើរឿងស្រដៀងគ្នា។ ដើម្បីប្រតិបត្តិសេចក្តីថ្លែងការណ៍nScores [១១] = ១០, C ++ ចាប់ផ្តើមដោយអាសយដ្ឋាននៃធាតុដំបូងនៅក្នុងលេខ។ បន្ទាប់មកវាផ្លាស់ទីទៅកន្លែងទំនេរចំនួន ១១ ហើយរក្សាទីតាំង ១០ នៅទីតាំងនោះ។ នេះត្រូវបានបង្ហាញជាក្រាហ្វិកនៅក្នុងរូបភាពខាងក្រោម។

image1.jpg

ការពិតដែលថា C ++ ចាប់ផ្តើមរាប់នៅសូន្យនាំឱ្យមានចំណុចមួយដែលតែងតែធ្វើអោយអ្នកចាប់ផ្តើមដំបូងច្រឡំ។ សេចក្តី​ថ្លែងការណ៍



int nScores[100];

ប្រកាស ១០០ ពិន្ទុដែលត្រូវបានរាប់ពី ០ ដល់ ៩៩។ កន្សោម

nScores[100] = 0; // this is an error

សូន្យធាតុទីមួយ ហួស ចុងបញ្ចប់នៃអារេ។ ធាតុចុងក្រោយនៅក្នុងអារេគឺលេខ [៩៩]។ អ្នកចងក្រង C ++ នឹងមិនចាប់យកកំហុសនេះទេហើយនឹងចូលប្រើធាតុមិនមែនសប្បាយនេះដែលជាញឹកញាប់នាំឱ្យកម្មវិធីចូលប្រើអថេរផ្សេងទៀតដោយច្រឡំ កំហុសប្រភេទនេះពិបាករកណាស់ព្រោះលទ្ធផលមិននឹកស្មានដល់។

អត្ថបទគួរឱ្យចាប់អារម្មណ៍