왜 getline() 함수가 즉시 리턴되는가? 에 대한 삽질의 기억…

class SomeClass
{
    ...
    int nSockFd_  {0}; //초기화를 0 으로 한 경우.
    ...
};

void SomeClass::SomeMethod1()
{
    ....
    //코드 어딘가에서 다음을 호출했는데... 아직 nSockFd_ 가 할당안된 경우
    close(nSockFd_); //--> close(0) --> stdin 을 닫아버림 - - ;;
    ...
}

void SomeClass::SomeMethod2()
{
   ....
   std::string line="";
    while(true)
    {
        std::cin.clear();
        getline(std::cin, line); //여기서 문제 발생, 즉시 리턴됨
        std::cout << "msg:" << line << std::endl;
    }
}