Viitelaskenta (engl. reference counting) on ohjelmointimenetelmä, jossa ohjelman varaaman muistin käyttöä seurataan viittauksien määrällä. Viittauksien määrän laskiessa nollaan (ei enää viittauksia) muisti voidaan vapauttaa ilman häiriötä ohjelman toiminnalle.
Viitelaskennan avulla viitatut kohteet voidaan vapauttaa heti kun niitä ei enää tarvita, toisin kuin jäljittävällä roskienkeräyksellä. Viitelaskenta on myös yksinkertainen tapa muistinhallinnan toteuttamiseen.
Ohjelmointikielet kuten C++ tarjoavat standardikirjaston avulla nk. älyosoittimia (engl. smart pointer) eri tarkoituksiin, joista osa toteuttaa viitelaskennan (ks. C++11, std::shared_ptr
).
LLVM/Clang kääntäjä tukee automaattista viitelaskentaa (engl. Automatic Reference Counting, ARC) mm. Objective-C kielen kanssa.[1]