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
1234template<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
1234template<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
12345template <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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår