C#에서 우리는 제네릭 매개 변수로 사용할 수있는 형식에 제약 조건을 부과하는 제네릭 형식을 정의 할 수 있습니다.템플릿 제약 C++
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
}
}
우리는 C에서 템플릿 매개 변수에 대한 제약 조건을 부과 할 수있는 방법 ++ 있습니까 : 다음 예는 일반적인 제약의 사용 방법을 보여줍니다.
C++ 0x는 기본 지원이 있지만 현재 표준 C++에 대해 이야기하고 있습니다.
네마냐 말했듯이, 부스트는 비슷한 구현하는 라이브러리가있다. 적절한 언어 기능을 갖춘 경우보다 약간 자세한 정보가 표시되지만 작동하며 대부분의 제약 조건을 표현할 수 있습니다. – jalf