Вопросы по теме 'c++-standard-library'

Как обнаружить разрыв строки в C ++?
в окнах разрыв строки \r\n в Linux, \n Я не хочу менять свой код, когда он работает в другой ОС, я просто хочу перекомпилировать его напрямую. Итак, как обнаружить это в C ++? Определена ли в стандартной библиотеке константа или...
2091 просмотров
schedule 21.09.2021

Как улучшить сообщения об исключениях для потоков?
Эта проблема На данный момент поддержка исключений для потоков ужасна. Когда библиотека Boost.System была принята в C ++ 11, создалось впечатление, что возможно исключения улучшатся. Все изменения были заменены std::exception на...
768 просмотров
schedule 16.09.2021

Может ли заголовок стандартной библиотеки C ++ включать стандартный заголовок C?
Я могу найти только в стандартном проекте N4582, что [res.on.headers / 1] Заголовок C ++ может включать другие заголовки C ++. Кажется, не указывается, может ли заголовок C ++ включать стандартный заголовок C. Если это разрешено,...
378 просмотров
schedule 05.09.2021

Указывает ли стандарт C ++ зависимости типов стандартных контейнеров?
В " зависимых типах с unordered_map " было замечено, что std::unordered_map<Key, Value> имеет зависимость типа от Value в libstdc ++ (что неожиданно) и не имеет зависимости типа от Value в libc ++ и MSVC. В общем, говорит ли...
104 просмотров

Проблема с виртуальным устройством Android (AVD) в Ubuntu 11.04
Когда я пытаюсь создать новое виртуальное устройство Android (AVD) в Ubuntu 11.04, я получаю эту ошибку: «Ошибка при загрузке общих библиотек: libstdc++.so.6: невозможно открыть общий объектный файл: нет такого файла или каталога. Да, файл библиотеки...
5533 просмотров

Реализовать быструю сортировку на двунаправленных итераторах
Кажется довольно простым реализовать быструю сортировку с использованием двунаправленных итераторов с временем O(NlgN) и пространством O(lgN). Итак, какова конкретная причина, по которой std::sort() требует итераторов с произвольным доступом? Я...
747 просмотров

Идиоматически перевернуть стек?
Стандартная библиотека C ++ пытается иметь как можно более единообразный интерфейс для всех своих контейнеров. Однако выделяется одна паршивая овца: #include <algorithm> #include <stack> int main() { std::stack<int> s;...
470 просмотров
schedule 20.02.2022

С++: использование std::sin(x) vs sin(x)
В чем разница между использованием стандартного разрешения области видимости для методов cmath и его неиспользованием? #include <cmath> double a = std::atan(0); vs. #include <cmath> double a = atan(0); Причина, по которой я...
69 просмотров

Почему стандартная библиотека С++ использует все строчные буквы?
Просто любопытно, почему стандартная библиотека С++ использует все строчные буквы и символы подчеркивания вместо соглашения об именах camelCase или PascalCase . Лично я считаю, что с последним намного проще иметь дело при вводе кода, но есть ли...
16524 просмотров

Плохая практика объявлять имена в стандартном пространстве имен?
Я просматривал руководство по стилю Google C++ и наткнулся на это: «Не объявляйте ничего в пространстве имен std, даже предварительных объявлений классов стандартной библиотеки. Объявление сущностей в пространстве имен std является поведением...
991 просмотров
schedule 25.03.2022

Где определен стандартный библиотечный литерал m, определяемый пользователем?
Я наткнулся на следующий пример, просматривая Основные рекомендации C++ документ: Пример change_speed(double s); // bad: what does s signify? // ... change_speed(2.3); Лучший подход состоит в том, чтобы четко указать значение...
123 просмотров

Неполный тип используется во вложенном спецификаторе имени для Pimpl Idiom
У меня есть эта ошибка для следующего кода неполный тип ‘Foo::Pimpl’ используется во вложенном спецификаторе имени ДругойFoo.hpp struct AnotherFoo { void methodAnotherFoo(Foo &); }; ДругойFoo.cpp #include "Foo.hpp"...
346 просмотров

Список генераторов со стандартной библиотекой С++?
Включает ли стандартная библиотека C++ какой-либо механизм для создания итерируемого диапазона, подобного списку, который использует встроенную функцию генератора для возврата значения в каждой позиции? то есть что-то, что могло бы дать поведение,...
820 просмотров
schedule 07.05.2022

Стандартные библиотечные средства, которые выделяют, но не используют распределитель
В большинстве мест, где стандартная библиотека C++ выделяет память, пользователь может настроить это, предоставив класс, соответствующий Allocator требования . Например, почти все контейнеры принимают аргумент шаблона распределителя, а...
460 просмотров

Использование алгоритмов STL для унарных функций
Поэтому мне часто нужно выполнить какой-нибудь алгоритм STL для ряда элементов, и вместо функции сравнения я хотел бы передать унарную функцию f. Например, я хотел бы написать что-то вроде этого std::max_element(begin(range), end(range), f);...
112 просмотров
schedule 08.06.2022

Соответствует ли предоставление частного конструктора для initializer_list?
Этот проект стандарта показывает синопсис для initializer_list . У него нет частного конструктора. Но две реализации стандартных библиотек, которые я рассмотрел, libstdc++ и libc++, обе предоставляют частные конструкторы: // The...
705 просмотров

Как получить доступ к методам подкласса указателя, если эти методы уникальны для подкласса?
Часть моей программы имеет два возможных случая: (1) если пользователь дает только 2 аргумента командной строки, принимает ввод со стандартного ввода (cin) (2) если пользователь дает 3 аргумента командной строки (последний из которых является именем...
63 просмотров

Любая полезная разница между std::bit_cast и std::start_lifetime_as?
std::bit_cast , по-видимому, вводится в С++ 20. и std::start_lifetime_as предлагается для c++23 (из P0593R5 ). Поскольку они оба требуют, чтобы задействованные типы данных в любом случае были тривиальными, будет ли необходимость в первом после...
1235 просмотров

Вариант использования перегрузки оператора адреса
Я думаю, что опасно перегружать оператор адреса & , потому что легко упустить из виду использование std::addressof() при реализации шаблонов, которым это действительно необходимо. Тем не менее, мне интересно, как правильно использовать...
284 просмотров

Разрешено ли реализациям стандартной библиотеки C++ усиливать спецификации noexcept?
В соответствии со стандартом C++ разрешено ли реализациям стандартной библиотеки C++ усиливать noexcept спецификации методов и других функций стандартной библиотеки C++, как это определено стандартом? Например, если стандарт C++ определяет...
414 просмотров