본문 바로가기

C++ STANDARD LIBRARY7

[C++] 스트림 세부사항 (+ 스트림 버퍼, 스트림 성능 이슈) References C++ Standard Library 2nd Contents Input/Output Operators for User-Defined Types User-Defined Format Flags Connecting Input and Output Streams Stream Buffer Class Performance Issues [C++] 스트림(stream) 클래스 (1) [C++] 스트림(stream) 클래스 (2) [C++] 파일 & 문자열 스트림 위의 포스팅들을 통해 스트림 클래스에 대한 전반적인 내용에 대해서 살펴봤습니다. 이번 포스팅에서는 스트림에 대한 고급(?) 기법 및 세부사항에 대해서 살펴보도록 하겠습니다. Input/Output Operator for User-Defined.. 2022. 12. 19.
[C++] 파일 & 문자열 스트림 References C++ Standard Library 2nd Contents File Access (파일 스트림) Stream Classes for String (문자열 스트림) [C++] 스트림(stream) 클래스 (1) [C++] 스트림(stream) 클래스 (2) File Access 파일에 액세스할 때 스트림을 사용할 수 있습니다. 이번에는 파일 액세스에 대한 기능들에 대해서 살펴보도록 하겠습니다. File Stream Classes C++ 표준 라이브러리에서는 아래의 표준 특수화(standard specializations)가 정의되어 있습니다. ifstream과 wifstream 으로 특수화된 basic_ifstream 클래스 템플릿은 파일 읽기 액세스를 제공합니다 (input file .. 2022. 12. 16.
[C++] 스트림(stream) 클래스 (2) References C++ Standard Library 2nd Contents Standard Input/Output Functions, sentry 객체 Manipulators (조작자) Formatting (포맷) [C++] 스트림(stream) 클래스 (1) [C++] 스트림(stream) 클래스 (1) References C++ Standard Library 2nd Contents Background of I/O Streams Fundamental Stream Classes and Objects Standard Stream Operators > State of Streams I/O 형식을 위한 클래스는 C++ 표준 라이브러리에서 가장 중요한 부분이며, I/O junstar92.tistory.co.. 2022. 12. 15.
[C++] 스트림(stream) 클래스 (1) References C++ Standard Library 2nd Contents Background of I/O Streams Fundamental Stream Classes and Objects Standard Stream Operators > State of Streams I/O 형식을 위한 클래스는 C++ 표준 라이브러리에서 가장 중요한 부분이며, I/O가 없는 프로그램은 쓸모가 거의 없다고 봐도 됩니다. C++ 표준 라이브러리에서 제공하는 I/O 클래스는 파일이나 스크린, 키보드에 제한되지 않으며 임의의 데이터를 받고 임의의 '외부 표현장치(external representations)'에 액세스할 수 있도록 해주는 확장 가능한 프레임워크입니다. 이번 포스팅에서는 IOStream 라이브러리에서 중.. 2022. 12. 13.
[C++] Iterator Traits와 User-Defined Iterators References C++ Standard Library 2nd Contents Iterator Traits User-Defined Iterators Iterator Traits 반복자에는 위와 같이 다양한 카테고리가 있습니다. 이는 각각이 자신만의 특수한 기능이 있다는 것을 나타냅니다. 서로 다른 반복자 카테고리는 서로의 동작을 오버로딩할 수도 있고, 오버로딩될 수 있습니다. 이때, iterator tags와 iterator traits를 사용하여 이러한 오버로딩을 적용할 수 있습니다. 각 반복자 카테고리에서 C++ 표준 라이브러리는 iterator에 대한 "label"처럼 사용되는 iterator tag를 제공합니다. 실제 헤더 파일을 살펴보면 상속이 사용되었다는 것을 볼 수 있습니다. 따라서, fo.. 2022. 12. 11.
[C++] Clocks and Timers References C++ Standard Library 2nd Contents Chrono Library Durations Clocks and Timepoints Data and Time Functions by C and POSIX [C++] chrono 라이브러리 (Date, Time 유틸리티) [C++] chrono 라이브러리 (Date, Time 유틸리티) References Professional C++ https://en.cppreference.com/w/ Contents Compile-Time rational numbers (컴파일 시간 유리수, ratio) Duration Clock Time Point 이번 포스팅에서는 C++ 표준 라이브러리에서 시간 관련 기능인 chrono 라이 juns.. 2022. 12. 8.
[C++] Numeric Limits References C++ Standard Library 2nd cppreference (link) 숫자 타입(numeric types)는 일반적으로 플랫폼에 따라서 한계값이 다릅니다. C++ 표준 라이브러리에서는 이러한 한계값을 numeric_limits 라는 템플릿으로 제공합니다. 이렇게 제공되는 numeric limit은 일반적인 전처리 C 상수를 대체하고 보완하는데 사용될 수 있습니다. 물론, 정수 타입에 대해서는 와 를 통해, 부동소수점 타입에 대해서는 와 를 통해 기존에 사용되던 C 상수도 여전히 지원됩니다. 하지만, C++에서 제공하는 numeric limits를 사용하면 데이터 타입에 안전하다는 것과 프로그래머가 이러한 한계값을 처리하는 템플릿을 작성할 수 있다는 장점을 얻을 수 있습니다... 2022. 12. 6.