# ios_base

[C++] 스트림(stream)(2) iostream 응용(ios 헤더와 ios_base)
ios cppreference 문서 1. 공통 함수 가 있다. 는 출력할 때 특정 동작으로 출력하라고 지시해준다. 위 예시는 특정 동작을 scientific(유효숫자와 10의 거듭제곱으로 표현) 혹은 hexfloat(16진법 소수점)으로 지시한 코드이다. 바로 밑에서 볼 , 으로도 지시할 수 있다. 2. 클래스 2-1 위 코드에서 1을 입력하고 엔터키를 누르면 1만 출력하고 출력을 멈춘다. 에 이 들어갔기 때문이다. 이를 방지하기 위해 입력 버퍼에서 한 글자를 지운다. 
cin.tie(NULL), sync_with_stdio(false)
백준 알고리즘 문제를 풀이하면서 새로운 부분을 봤다. 이분 탐색을 헷갈리지 않게 구현하기에서 예시문제로 나무 자르기 를 제시한다. solution 코드중에 이렇게 분리하여 작성하는건 봤지만 클래스 참조로 더 간결하게 표현하는걸 봤다. 레퍼런스를 찾아보니 cin 클래스는 ios를 상속한 istream을 상속하며, tie 함수는 연결되어있던 stream 포인터를 반환한다. 즉 cin.tie(0) 호출로 반환된 'ios'객체를 참조하여 syncwithstdio(0)를 호출하는 것. 자세하게 보기위해 간단하게 코드를 작성해보았다. 알아두기 tie() 는 tie되어있던 ostream을 반환 tie 함수에 ostream을 넣으면 해당 ostream과 tie를 수행함 ostream은 ios_base를 상속한 ios를 상속 결과: ![](https://images.velog.io/images/c4fiber/