Arrays og datastrukturer i C++
Computerspace · FGU · Programmering i C++
📦 Hvad er arrays og datastrukturer i C++?
C++ tilbyder både klassiske C-arrays og moderne STL-containers der er sikrere og mere fleksible.
C-style arrays (klassisk):
```cpp
int tal[5] = {1, 2, 3, 4, 5};
std::cout << tal[0]; // 1
// Ulempe: fast størrelse, ingen bounds-checking
```
std::vector – dynamisk array (anbefalet):
```cpp
#include <vector>
std::vector<int> v = {1, 2, 3};
v.push_back(4); // Tilføj element
v.pop_back(); // Fjern sidste
std::cout << v.size(); // Antal elementer
std::cout << v[0]; // Adgang via index
// Iteration
for (auto x : v) {
std::cout << x << " ";
}
```
std::array – sikker fast-størrelse array (C++11):
```cpp
#include <array>
std::array<int, 5> arr = {1, 2, 3, 4, 5};
std::cout << arr.size(); // 5
```
Iteratorer – universelt interface til containers:
```cpp
std::vector<int> v = {3, 1, 4, 1, 5};
for (auto it = v.begin(); it != v.end(); ++it) {
std::cout << *it << " ";
}
```
---
🎓 Læringsmål for Arrays og datastrukturer i C++
Læringsmål
- Forstå forskellen på C-style arrays og STL-containers
- Oprette og manipulere std::vector til dynamiske lister
- Bruge std::array som sikker alternativ til C-arrays
- Iterere over containers med range-based for og iteratorer
Sådan kan du arbejde med emnet
- Hvad er forskellen på et array og en vector?
- Hvordan tilføjer jeg elementer til en vector?
- Hvad er en iterator?
- Hvornår bruger man std::array vs std::vector?
⚠️ Typiske fejl at undgå
- Out-of-bounds adgang –
v[10]på en vector med 5 elementer giver undefined behavior - Glemmer #include – husk
#include <vector>og#include <array> - Bruger C-arrays til nyt kode – foretruk std::vector eller std::array i moderne C++
---
💡 Tips til at komme i gang
- Brug std::vector som standard – det er fleksibelt og sikkert
- Øv dig i at sortere – prøv
std::sort(v.begin(), v.end())fra<algorithm> - Byg en simpel database – gem navne og karakterer i en vector og søg i dem
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis