달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'c++'에 해당되는 글 11

  1. 2012.09.27 template C++
2012. 9. 27. 22:53

template C++ c++2012. 9. 27. 22:53

template<typename T>

void print2nd(const C& container)

{

    if(container.size() >= 2)

    {

        typename C::const_iterator iter(container.begin());

    }

}


C::const_iterator는 중첩 의존 타입이름이다. C의 의존하는 타입임.

C::const_iterator가 type이라는 것을 컴파일러에게 알려주어야 함
그러긴 위해서 앞에 typename을 붙인다.


//여기서 typename이랑 class는 같음
template<typename C>
void f(const C& container, typename C::iterator iter); //첫번째 인자는 typename을 쓰면 안되고, 두번째는 써야함

//클래스 식별자로 있을때는 쓰면 안됨
template<typename T>
class Dervied : public Base<T>::Nested{
public:
    explicit Derived(int x):Base<T>::Nexted(x)
    {
        typename Base<T>::Nested temp;
    }
}

'c++' 카테고리의 다른 글

c++ operator new  (0) 2012.10.01
c++ 특성정보  (0) 2012.09.28
c++ quiz4  (0) 2012.09.27
c++ quiz3  (0) 2012.09.27
c++ strategy 패턴  (0) 2012.09.27
:
Posted by НooпeУ


Code Start Code End