FAGPORTALEN

Templates og STL

Computerspace · FGU · Programmering i C++

🔧 Hvad er templates og STL?

Templates lader dig skrive generisk kode der virker med enhver datatype. STL (Standard Template Library) er C++'s kraftfulde standardbibliotek.

Template-funktioner:

```cpp

// Generisk max-funktion – virker med int, double, string, etc.

template<typename T>

T maksimum(T a, T b) {

return (a > b) ? a : b;

}

int m1 = maksimum(3, 7); // 7

double m2 = maksimum(3.14, 2.72); // 3.14

```

Template-klasser:

```cpp

template<typename T>

class Boks {

private:

T indhold;

public:

Boks(T i) : indhold(i) {}

T hent() { return indhold; }

};

Boks<int> heltalsboks(42);

Boks<std::string> tekstboks("Hej");

```

STL Containers:

```cpp

#include <vector> // Dynamisk array

#include <map> // Nøgle-værdi par (sorteret)

#include <set> // Unikke elementer (sorteret)

#include <queue> // FIFO kø

#include <stack> // LIFO stak

std::map<std::string, int> karakterer;

karakterer["Anna"] = 12;

karakterer["Bo"] = 7;

std::cout << karakterer["Anna"]; // 12

```

STL Algoritmer:

```cpp

#include <algorithm>

std::vector<int> v = {3, 1, 4, 1, 5, 9};

std::sort(v.begin(), v.end()); // Sorter

auto it = std::find(v.begin(), v.end(), 5); // Find element

std::transform(v.begin(), v.end(), v.begin(),

[](int x) { return x * 2; }); // Fordobl alle elementer

```

---

🎓 Læringsmål for Templates og STL

Læringsmål

Sådan kan du arbejde med emnet

⚠️ Typiske fejl at undgå

---

💡 Tips til at komme i gang

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.