Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Navnekonvensjoner | Lage Første Mal
C++-Maler

Navnekonvensjoner

Sveip for å vise menyen

Gode og dårlige navnevalg

Akkurat som med variabler kan du gi malparametere hvilket som helst navn. Å følge navnekonvensjoner kan imidlertid forbedre lesbarheten og vedlikeholdbarheten av koden betydelig. Her er noen gode og dårlige praksiser å vurdere.

main.cpp

main.cpp

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

Du lurer kanskje på hvorfor T regnes som et bedre navnevalg enn Type, selv om det siste virker tydeligere. Årsaken er enkel: T er en bredt akseptert konvensjon som står for Type. Det indikerer umiddelbart at malparameteren representerer en type, noe som er kjent for de fleste utviklere. Det er også vanlig å bruke U eller V hvis T allerede er brukt.

Beskrivende navngivning

Når du har flere malparametere og formålet deres ikke er umiddelbart åpenbart, er det god praksis å bruke beskrivende navn med prefikset T.

main.cpp

main.cpp

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

Hvis du ser på dokumentasjonen for noen maler, kan du legge merke til at enkelte utviklere legger til en understrek (_) foran typeparameteren for å gjøre den mer distinkt. Du kan også ta i bruk denne praksisen. Det viktigste er imidlertid å opprettholde konsistens gjennom hele kodebasen. Velg en navngivningsstil du foretrekker, og hold deg til den.

Class og typename

Både class og typename brukes i template-deklarasjoner. De kan brukes om hverandre i denne sammenhengen.

main.cpp

main.cpp

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

Historisk sett var nøkkelordet class det eneste alternativet for å definere template-parametere. Derfor kan du finne dette nøkkelordet i eldre kode. Når man lager templates, foretrekkes ofte nøkkelordet typename for tydelighet, så vi vil bruke det.

question mark

Hva kan passe i plassholderne?

Velg alle riktige svar

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 5
some-alt