std::initializer_list
— список инициализации {1, 2, 3}
operator[]
— индексация
*begin()/*rbegin()
typename std::iterator_traits<Iterator>::value_type
— тип значения при разыменовании
operator++()
и operator++(int)
— префиксная и постфиксаня формы инкремента (декремента)
operator*
— разыменование итератора (получение значения)
operator+(difference_type)
— инкремент (декремент) на произвольное число
operator[]
— индексация в RandomAccess итераторах
operator==
и operator!=
— для сравнения итераторов и остановки цикла
operator=
— для поддержки Output итератора
operator-
— для получения расстояния между итераторами
std::chrono
)
boost::format
— самое лучшее от printf
boost::iostreams
— расширенный std::iostream
std::ostream("blabla.txt") << std::ifstream("lala.txt").rdbuf();
std::ostream& endline(std::ostream& s) { return s << "\n" << std::flush; } std::cout << "Message" << endline;
std::hex
? Манипуляции с iword
и pword
потока
streambuf
, так как только он имеет виртуальные методы
template<class A, class B> std::ostream& operator<<(std::ostream& stream, const std::vector<A, B>& v) { std::copy(v.begin(), v.end(), std::experimental::make_ostream_joiner(stream, ", ")); } std::vector a{{7.8, 8.0, 59.9, -9.1, 1.598, 90.35}}; std::cout << a << std::endl;
new
, delete
->
delete
и delete[]
→ умные указатели и массивы
std::chrono
clocks
— замер времени
system_clock
— системное время
steady_clock
— монотонное время, никогда не возвращается назад
high_resolution_clock
— самое точное время
utc_clock
, file_clock
, …
time_point
— временная метка
duration
— разница между временными метками
duration
42s
, 1min
, 2us
(C++14)
std::regex
regex_match
— соответствие предложения регулярному выражению
std::smatch
, std::cmatch
— объекты совпадения
regex_search
— поиск регулярного выражения
regex_replace
— поиск и замена
R"match\t\n"
<=> "match\\t\\n"
)
T
атомарным — std::atomic<T>
atomic_flag
— test_and_set
std::memory_order
promise
— в него устанавливают результат асинхронно
future
— объект, который выполнится в неизвестное время
async
— обёртка над future
std::thread
yield
, sleep_for
join
, detach
std::filesystem
path
— абстракция пути в файловой системе
path
позволяют модифицировать путь
recursive_directory_iterator
file_status
space_info