달력

10

« 2018/10 »

  •  
  • 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
  •  
  •  
  •  

'putback'에 해당되는 글 1

  1. 2010.03.15 putback(), peek()
2010.03.15 20:56

putback(), peek() 프로그래밍/C++2010.03.15 20:56







puback(char type) char타입을 꺼낸다고 보면 된다.

예제로 이해 하는것이 빠를듯,


여기서 주의 할 점은 왜 c3를 만들어 놨냐는 건데
디버그로 따라가 보니 별 의도는 없었고,
입력 후 엔터를 칠때 개행 값이 들어 가더라,
그래서 사실 getline으로 받은 배열 c에는 아무 값도 들어가지 않아야 하지만
그전에 putback( c2 )를 해주었기 때문에
c에 q만 들어 가는것을 알 수 있었음.

사실 이럴때 쓰라고 있는건 아닌거 같고,
특정 값을 꺼내서 다시 집어 넣기 위한 용도 인거 같은데, 언제 어떻게 쓸지는 더 생각해 봐야겠다.

peek();
이 함수도 사실 생소한데, putback()함수를 보다 보니 이런 함수도 있다고 해서 추가로 조사해 보았다. 일단 예제를 보자


보면 알 수 있겠지만 실제로 출력을 하면 c2에 a, c에 "abcde"가 들어 간걸 확인 할 수 있다.
지금 처럼 문자열을 받으면서 동시에 맨 앞의 문자를 c2에 넣는 다거나,
std::cin.peek(); 를 중첩으로 사용해서 c2, c3, c4에 동시에 값을 넣는다거나 하는 용도로 쓰이는 것 같다.
그런데 사실 결론만 따지면, putback나, peek나 크게 모르더라도,
단순히 그냥 앞에서 때온다거나 해서 간단하게 코딩으로 해결 할 수 있을텐데 구지 써야 할까? 라는 의문도 생긴다.
어차피 변수는 선언하고 사용하는데 말이다.
좀 많은 생각을 하게 했던 두 함수.

'프로그래밍 > C++' 카테고리의 다른 글

namespace(이름 공간)  (0) 2010.03.15
inline 함수  (0) 2010.03.15
디폴트 매개변수  (0) 2010.03.15
함수 오버로딩 (overloading)  (0) 2010.03.15
putback(), peek()  (0) 2010.03.15
cout, cin, endl  (0) 2010.03.15
Posted by 안식의후크