입출력 싱크 질문
안녕하세요! 알고리즘 교안 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점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
4 - A
0
24
2
코딩살구클럽 입장이 안됩니다
0
62
2
4-F 경우의 수 질문입니다.
0
32
2
코딩살구클럽 가입이 안됩니다.
0
75
2
살구 클럽에 대한 질문있습ㄴ디ㅏ
0
54
1
교안 158페이지 문의드립니다
0
44
2
코딩살구클럽 관련 건의사항
0
115
1
코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다
0
44
1
진행 방법 질문드립니다!
0
81
2
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
63
2
2주차 개념#12 트리 순회
0
32
2
백준사이트가 종료된다고 합니다.
0
315
2
백준 서비스 종료
9
950
1
sk 하이닉스 코테 대비
0
385
2
3-G 최댓값 질문
0
54
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
84
2
3-I 코드 질문드립니다.
0
65
2
3-N 질문 있습니다.
0
68
2
학습방법
0
105
2
4-H 질문 있습니다 (코드 리뷰)
0
69
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
183
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
72
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
65
2
1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.
0
53
2





