Junior — Middle
Կարող եք տալ C++-ում տիպի մասնակի մասնագիտացման օգտագործման օրինակ?
sobes.tech AI
Պատասխան AI-ից
C++ լեզվում մասնակի հատուկագծումը թույլ է տալիս սահմանել դասի կամ ֆունկցիայի շաբլոն՝ որոշ տիպերի համար, մնացած պարամետրերը մնալով ընդհանուր։ Սա օգտակար է, երբ անհրաժեշտ է փոփոխել շաբլոնի վարքագիծը որոշ տիպերի համար՝ ամբողջական տարբերակները կրկնօրինակելու կարիք չունենալով։
Օրինակ՝ ցուցիչների համար դասի շաբլոնի մասնակի հատուկագծում՝
// Ընդհանուր շաբլոն
template<typename T>
struct TypeInfo {
static const char* name() { return "Անհայտ"; }
};
// Մասնակի հատուկագծում ցուցիչների համար
template<typename T>
struct TypeInfo<T*> {
static const char* name() { return "Ցուցիչ"; }
};
// Օգտագործում
#include <iostream>
int main() {
std::cout << TypeInfo<int>::name() << std::endl; // Տպում է "Անհայտ"
std::cout << TypeInfo<int*>::name() << std::endl; // Տպում է "Ցուցիչ"
}