Вопросы с тегом «std»

Стандартная библиотека C ++ и ее пространство имен. Используется вместе с [c ++].

2
Как реализована функция std :: is_function?
Как следующая реализация для std::is_function? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; (от ссылки CPP ) Мне кажется, intфункция an будет под этим определением. Что мне не хватает?
82 c++  templates  std  sfinae 

2
Почему std :: hash не гарантированно является детерминированным?
Далее мы используем N4140 (C ++ 14 Standard). В соответствии с § 17.6.3.4 Хеш-требованиями , Возвращаемое значение должно зависеть только от аргумента k для продолжительности программы . [Примечание: Таким образом, все вычисления выражения h(k)с одинаковым значением kдают один и тот же результат для данного выполнения программы . - конец примечания] …

2
Список инициализаторов внутри std :: pair
Этот код: #include <iostream> #include <string> std::pair<std::initializer_list<std::string>, int> groups{ { "A", "B" }, 0 }; int main() { for (const auto& i : groups.first) { std::cout << i << '\n'; } return 0; } компилируется, но возвращает segfault. Почему? Протестировано на gcc 8.3.0 и на онлайн-компиляторах.
26 c++  std  std-pair 

1
Почему std :: swap не работает с векторными элементами <bool> в Clang / Win?
У меня есть такой код: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Аргументы о здравомыслии в vector&lt;bool&gt;стороне, это работало очень хорошо на: Лязг для Mac Visual Studio для Windows GCC для Linux Затем я попытался собрать его с помощью Clang в Windows и получил …

1
Почему swd вызывается std :: sort, только если в моем контейнере более 32 элементов?
Здравствуйте, у меня есть простой вопрос: class A { public: A(int); A(const A&amp;); A&amp; operator=(const A&amp;); ~A(); private: int* ptr_; friend bool operator&lt;(const A&amp;, const A&amp;); friend void swap(A&amp;, A&amp;); }; A::A(int x) : ptr_(new int(x)) {} A::A(const A&amp; rhs) : ptr_(rhs.ptr_ ? new int(*rhs.ptr_) : nullptr) {} A&amp; A::operator …
13 c++  std  swap 

1
Почему в std :: span отсутствуют операторы сравнения?
Разве это не было std::spanразработано как облегченная ссылка на подобласти массиваstd::vector / std::array/ plain ? Разве он не должен содержать операторы сравнения в своем API, чтобы соответствовать им? Что было причиной исключения? Примечание: операторы сравнения, я имею в виду либо полный набор ( &lt;, &lt;=, ...) или космический корабль&lt;=&gt;
10 c++  std  c++20  std-span 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.