«dependent-name» 태그된 질문

6
“템플릿”및“typename”키워드를 어디에 그리고 왜 넣어야합니까?
템플릿에서, 어디서, 왜 넣어해야합니까 typename및 template의존 이름을? 어쨌든 종속 이름은 정확히 무엇입니까? 다음 코드가 있습니다. template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { // Q: where to add typename/template here? typedef Tail::inUnion<U> dummy; …

2
이 템플릿 기능이 예상대로 작동하지 않는 이유는 무엇입니까?
템플릿 기능에 대해 읽고 있었고이 문제로 혼란스러워했습니다. #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); // f(double) f(1); // f(int) g(1.0); …

3
다음과 같은 경우 종속 유형에 typename을 사용할 필요가없는 이유는 무엇입니까?
유형의 참조를 제거하는 방법에 대해 읽었 습니다 . 다음 예제를 제공합니다. #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, int>(); print_is_same<int, int &>(); print_is_same<int, int &&>(); print_is_same<int, std::remove_reference<int>::type>(); // …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.