কোনও টেম্পলেট টাইপনেম যুক্তির পক্ষে আর্গুমেন্ট হিসাবে রেফারেন্সটি পাস করার কোনও উপায় আছে কি? আমি এর অর্থ একটি int পাস করার পরিবর্তে, উদাহরণস্বরূপ, কোনও 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
}
আমি জানি যে আমি 'পিটিআর' সদস্যটিকে পয়েন্টারটির টি ও ক্লাসে তৈরি করে একটি রেফারেন্স হিসাবে তৈরি করতে পারি, তবে আমি ভাবছিলাম যে এটি টেম্পলেট আর্গুমেন্টে পাস হওয়া যুক্তি থেকে করা যায় কিনা।
decltype
, কারণ শিরোনামটি আক্ষরিক অর্থে আপনি লিখতে পারেনFoo<int*&>