सी # में हम एक सामान्य प्रकार को परिभाषित कर सकते हैं जो कि सामान्य पैरामीटर के रूप में उपयोग किए जा सकने वाले प्रकारों पर बाधा लगाता है।टेम्पलेट प्रतिबंध सी ++
interface IFoo
{
}
class Foo<T> where T : IFoo
{
}
class Bar : IFoo
{
}
class Simpson
{
}
class Program
{
static void Main(string[] args)
{
Foo<Bar> a = new Foo<Bar>();
Foo<Simpson> b = new Foo<Simpson>(); // error CS0309
}
}
वहाँ एक तरह से हम सी में टेम्पलेट मापदंडों के लिए बाधाओं को लागू कर सकते हैं ++ है: निम्न उदाहरण सामान्य कमी के उपयोग को दिखाता है।
सी ++ 0x के लिए मूल समर्थन है लेकिन मैं वर्तमान मानक सी ++ के बारे में बात कर रहा हूं।
के रूप में Nemanja कहा, बूस्ट एक पुस्तकालय है कि कुछ इसी तरह लागू करता है। यह एक उचित भाषा सुविधा होने की तुलना में थोड़ा अधिक वर्बोज़ है, लेकिन यह काम करता है, और यह आपको अधिकतर बाधाओं को व्यक्त करने की अनुमति देता है। – jalf