입출력 싱크 질문
안녕하세요! 알고리즘 교안 169P에서 입출력 싱크에 대한 설명을 읽고, 궁금증이 생겨서 질문 남깁니다!
"cin과 cout은 c 라이브러리인 stdio의 버퍼와 동기화하느라 시간을 소비하기 때문이죠"
라는 설명이 cin과 cout이 C에서 사용하는 스트림의 버퍼를 사용한다는 뜻으로 이해하면 되나요?
이 게시글에서는 동기화가 될 경우, C++ 스트림의 버퍼를 사용하지 않고, C 스트림의 버퍼를 사용한다고 나와있길래 그렇게 이해하였습니다.
동기화라는 것이 특정 자원에 동시에 접근함으로써 데이터가 불일치하게 되는 문제를 막기 위해 프로세스의 순서를 정하는 것으로 알고 있는데, 이것을 교안에서 언급한 동기화 개념과 어떻게 연결지어야 할지 잘 모르겠습니다!ㅠㅠ
답변 1
0
안녕하세요 766님 ㅎㅎ
cin과 cout이 C에서 사용하는 스트림의 버퍼
>> 음 아닙니다. cin, cout은 C++의 표준 입출력이며 iostream 헤더파일에 있는 함수입니다.
https://cplusplus.com/reference/iostream/cin/
Object of class istream that represents the standard input stream oriented to narrow characters (of type char). It corresponds to the C stream stdin.
잠깐 공식문서 글을 볼까요? 이부분을 보시면 이는 C의 stdin에 해당한다라는 뜻이며 C의 스트림버퍼라고는 볼 수 없습니다.
동기화라는 것이 특정 자원에 동시에 접근함으로써 데이터가 불일치하게 되는 문제를 막기 위해 프로세스의 순서를 정하는 것으로 알고 있는데, 이것을 교안에서 언급한 동기화 개념과 어떻게 연결지어야 할지 잘 모르겠습니다!ㅠㅠ
>> 네 알고계신게 맞습니다.
순서를 정하는게 맞구요.
예를 들어
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);이걸 하게 되면
cin
scanf
이렇게 코드가 되어있을 때 명백히 cin부터 실행이 되어야 하는데 scanf부터 실행이 되버릴 수도 있게 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
2-T 질문
0
4
0
코딩 살구클럽 가입 문의
0
67
2
코딩살구클럽 가입문의
0
69
2
3-K private case 질문
0
66
2
안녕하세요. 코딩살구클럽 문의드립니다!
0
77
2
7:41 듣다가 질문합니다
0
77
2
코드 리뷰 요청드립니다!
0
83
2
코딩살구클럽 계정 문의
0
79
2
SK하이닉스 대비 강의수강
0
217
3
코딩살구클럽 등록부탁드립니다.
0
78
2
7-F 재귀로 풀시 런타임애러
0
75
1
1-N 문제 질문입니다. (+ 채점오류)
0
82
2
코딩살구클럽 가입 확인 부탁드립니다.
0
86
2
직장인 코테 합격 공부방법 문의
0
127
2
코딩살구클럽 가입 방법
0
96
2
6-H 체점 관련 질문
0
74
1
채점서버 연결 관련 질문입니다
0
101
2
삼성 s직군
0
88
1
삼성 코테 없어짐
0
213
1
코딩살구클럽 가입부탁드립니다
0
87
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
69
2
5-S 테스트 케이스 질문
0
78
2
코살 문제풀이 환경
0
88
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
82
1





