Referansı şablon türü adı bağımsız değişkenine argüman olarak iletmenin bir yolu var mı? Yani bir int geçmek yerine, örneğin bir int'e bir referans geçirmek için.
template <typename T>
struct Foo
{
Foo(T arg) : ptr(arg) {}
T ptr;
};
int main()
{
int* a = new int(6);
Foo<decltype(a)> foo1(a); // ptr is a copy of a pointer
Foo<decltype(&a)> foo1(&a); // ptr seems to be a pointer to a pointer
}
Sınıfta T & yaparak bir işaretçi 'ptr' üye bir referans yapabilir biliyorum, ama bu şablon argüman geçirilen argüman yapılabilir olup olmadığını merak ediyordum.
decltype, çünkü başlığı tam anlamıyla yazabilirsinizFoo<int*&>