Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Navngivningskonventioner | Oprettelse af Første Skabelon
C++ Templates

Navngivningskonventioner

Stryg for at vise menuen

Gode og dårlige navngivninger

Ligesom variabler kan du navngive template-parametre, som du ønsker. At følge navngivningskonventioner kan dog i høj grad forbedre læsbarheden og vedligeholdelsen af koden. Her er nogle gode og dårlige praksisser at overveje.

main.cpp

main.cpp

1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

Du undrer dig måske over, hvorfor T anses for at være et bedre navnevalg end Type, selvom det sidste virker mere tydeligt. Årsagen er enkel: T er en bredt accepteret konvention, der står for Type. Det indikerer straks, at template-parameteren repræsenterer en type, hvilket er velkendt for de fleste udviklere. Det er også almindeligt at bruge U eller V, hvis T allerede er anvendt.

Beskrivende navngivning

Når du har flere template-parametre, og deres formål ikke er umiddelbart indlysende, er det god praksis at bruge beskrivende navne med prefixet T.

main.cpp

main.cpp

1234
template<typename TKey, typename TValue> void map() { // Function implementation }

Hvis du kigger i dokumentationen for nogle templates, vil du måske bemærke, at nogle udviklere tilføjer en underscore (_) før typeparameteren for at gøre den mere tydelig. Du kan også vælge denne praksis. Det vigtigste er dog at opretholde konsistens i hele din kodebase. Vælg en navngivningsstil, du foretrækker, og hold dig til den.

Class og typename

Både class og typename bruges i template-deklarationer. De kan anvendes om hinanden i denne sammenhæng.

main.cpp

main.cpp

12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

Historisk set var nøgleordet class den eneste mulighed for at definere template-parametre. Derfor kan du støde på dette nøgleord i ældre kode. Når man opretter templates, foretrækkes dog ofte nøgleordet typename for dets tydelighed, så det vil vi benytte.

question mark

Hvad kan indsættes i pladsholderne?

Vælg alle korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 5
some-alt