Skapa och använda flerdimensionella arrayer i C++ (9 / 10 steg)
Steg 9: Du nämnde en 3 dimensionell array?
Jag gjorde faktiskt. Men detta också ligger i linje med de inneboende begränsningarna av flerdimensionella arrayer. Denna begränsning kommer i form av minne. För det mesta när jag skapa kod, placera jag variabler på "stack" (minne sak i programmering) förutsätta de lokala variabler eller jag skapa globala variabler som lagras i ett annat minnestyp kallas ".data".
Jag kommer inte att försöka förklara Detaljer/mekanik minne i programmering (mest för att jag inte förstår det tillräckligt bra, men du kan läsa mer här), men från vad jag förstår när jag försökte skapa en jätte tre dimensionell matris på Uno32 som en typ av multiplikation tabell/kub, sprang jag in i en stack overflow problemet vilket innebär att jag försökte placera mer saker i minnet än jag hade utrymme för , så kompilatorn placerade de överflödiga sakerna i andra minnesplatser som inte borde vara bråkade med, orsakar programmet kraschar när jag försökt till springa den. Jag kunde inte verkar kunna övertyga programmet att dynamiskt allokerade minnet bör tillåta jag till har mer minne utrymme heller.
I grund och botten jag körde slut på minne och inte kunde lista ut ett sätt att göra 3D matrisen fungerar.
Jag gjorde så småningom en liten 2D array fungerar (60 av 60), men vi täckt bara ett exempel på 2D matriser, och till slut kan du bara Skriv ditt multiplikation problem i koden och få svaret utan att först skapa en array med svar. Det är en fin linje mellan lära sig nya saker och pragmatism.