Esiste un modo per passare un riferimento come argomento a un argomento del modello typename? Intendo dire invece di passare un int, ad esempio, per passare un riferimento a un int.
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
}
So di poter fare in modo che il membro 'ptr' sia un riferimento a un puntatore rendendolo T & nella classe, ma mi chiedevo se ciò potesse essere fatto dall'argomento passato all'argomento template.
decltype
, perché prendendo il titolo letteralmente potresti semplicemente scrivereFoo<int*&>