Запитання з тегом «c++-standard-library»

У мові програмування С ++ Стандартна бібліотека С ++ - це сукупність класів та функцій, які можуть бути написані базовою мовою, а можуть і не записані, і є частиною С ++

25
Як перетворити std :: string в малі регістри?
Я хочу перетворити std::stringна малі регістри. Я знаю про цю функцію tolower(), проте в минулому у мене виникли проблеми з цією функцією, і навряд чи це ідеально, оскільки використання з std::stringзнаряддям вимагає повторення кожного символу. Чи існує альтернатива, яка працює 100% часу?


5
Яка різниця між "STL" та "Стандартною бібліотекою C ++"?
Хтось звернув цю статтю до мене, що стверджує (я перефразую) термін STL зловживається для позначення всієї стандартної бібліотеки C ++ замість частин, взятих із SGI STL. (...) він посилається на "STL", незважаючи на те, що дуже мало людей досі використовують STL (що було розроблено в SGI). Частини стандартної бібліотеки C …

9
C ++ valarray проти вектора
Мені дуже подобаються вектори. Вони витончені і швидкі. Але я знаю, що ця річ під назвою валярій існує. Чому я використовую валярій замість вектора? Я знаю, що у валярій є синтаксичний цукор, але крім них, коли вони корисні?

8
Видалення елементів з std :: set під час ітерації
Мені потрібно пройти набір і видалити елементи, які відповідають заданим критеріям. Це тестовий код, який я написав: #include <set> #include <algorithm> void printElement(int value) { std::cout << value << " "; } int main() { int initNum[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; …


2
Яка механіка оптимізації коротких струн у libc ++?
Ця відповідь дає хороший огляд високого рівня оптимізації коротких рядків (SSO). Однак я хотів би більш детально дізнатися, як це працює на практиці, зокрема в реалізації libc ++: Наскільки короткою повинна бути рядок, щоб мати право на отримання SSO? Це залежить від цільової архітектури? Як реалізація розрізняє короткі та довгі …

2
Як отримати розмір файлу в байтах за допомогою C ++ 17
Чи я маю знати підводні камені для конкретних операційних систем? Існує багато дублікатів ( 1 , 2 , 3 , 4 , 5 ) цього питання, але на них відповіли десятки років тому. На сьогодні дуже багато відповідей у ​​багатьох із цих питань є помилковими. Методи з інших (старих QA) …

1
Чому вектор libc ++ <bool> :: const_reference не є bool?
Розділ 23.3.7 Клас vector&lt;bool&gt;[vector.bool], пункт 1, говорить: template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... Однак ця програма не вдається скомпілювати під час використання libc ++: #include &lt;vector&gt; #include &lt;type_traits&gt; int main() { static_assert(std::is_same&lt;std::vector&lt;bool&gt;::const_reference, bool&gt;{}, "?"); } Крім того, я зазначаю, що стандарт С …


4
Чи надійні експериментальні особливості сучасного С ++ для довгострокових проектів?
У мене є проект, який в даний час використовує C ++ 11/14, але для цього потрібно щось на зразок std::filesystem, яке доступне лише в C ++ 17, і, отже, у мене немає можливості використовувати його зараз. Однак я бачу, що він доступний у моєму поточному компіляторі як std::experimental::filesystem. Чи є …

9
Чому в стандартній бібліотеці C ++ немає transform_if?
Випадок використання виник, коли хотіли зробити умовну копію (1. виконуване за допомогою copy_if), але з контейнера значень у контейнер покажчиків на ці значення (2. виконуваний за допомогою transform). За допомогою доступних інструментів я не можу зробити це менш ніж за два кроки: #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; struct …

10
std :: ітерація черги
Мені потрібно повторити std::queue. www.cplusplus.com каже: За замовчуванням, якщо для певного класу черги не вказаний клас контейнера, використовується стандартний шаблон шаблону класу контейнера. То чи можу я якось дістатися до основного деке та переглядати його?

5
std :: lexical_cast - чи є таке?
Чи визначає стандартну бібліотеку C ++ цю функцію, чи мені доводиться вдаватися до Boost? Я шукав в Інтернеті і не міг знайти нічого, крім Boost, але я подумав, що мені краще запитати тут.

2
Чому оператор! = Видаляється в C ++ 20 для багатьох стандартних типів бібліотек?
Згідно cppreference , std::type_info::operator!=видалення з C ++ 20, однак, std::type_info::operator==мабуть, залишається. Які міркування? Я можу погодитись, щоб порівняння для нерівності було безглуздим, але тоді порівняння для рівності було б так само безглуздим, чи не так? Аналогічно, operator!=з багатьох інших стандартних типів бібліотек, включаючи контейнери, такі як std::unordered_map::operator!=та std::unordered_set::operator!=будуть видалені в …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.