Вопросы с тегом «c++11»

Используйте этот тег для кода, который должен компилироваться как C ++ 11 (без использования каких-либо функций, представленных в C ++ 14 или более поздних версиях).

7
В C ++ все еще является плохой практикой возвращать вектор из функции?
Краткая версия: во многих языках программирования обычно возвращаются большие объекты, такие как векторы / массивы. Допустим ли этот стиль в C ++ 0x, если в классе есть конструктор перемещения, или программисты на C ++ считают его странным / уродливым / мерзким? Расширенная версия: в C ++ 0x это все еще …

2
C ++ 0x лямбда-захват по значению всегда const?
Есть ли способ захватить по значению и сделать захваченное значение неконстантным? У меня есть функтор библиотеки, который я хотел бы захватить и вызвать метод, который не является константой, но должен быть. Следующее не компилируется, но создание foo :: operator () const исправляет его. struct foo { bool operator () ( …
103 c++  lambda  const  c++11 

3
Безопасно ли связывать объекты C ++ 17, C ++ 14 и C ++ 11
Предположим, у меня есть три скомпилированных объекта, созданных одним и тем же компилятором / версией : A был скомпилирован со стандартом C ++ 11 B был скомпилирован по стандарту C ++ 14 C был скомпилирован со стандартом C ++ 17 Для простоты предположим, что все заголовки были написаны на C …
103 c++  c++11  linker  c++14  abi 

12
Поддержка Visual Studio новых стандартов C / C ++?
Я продолжаю читать о C99 и C ++ 11 и обо всех этих совершенно приятных вещах, которые добавляются к языковому стандарту и которые когда-нибудь могут быть полезны. Однако в настоящее время мы томимся в стране написания C ++ в Visual Studio. Будет ли когда-либо добавлено что-либо из нового стандарта в …

2
Генерация случайных чисел в C ++ 11: как генерировать, как это работает? [закрыто]
Трудно сказать, о чем здесь спрашивают. Этот вопрос неоднозначный, расплывчатый, неполный, чрезмерно широкий или риторический, и на него нельзя разумно ответить в его нынешней форме. Чтобы прояснить этот вопрос и снова открыть его, посетите Справочный центр . Закрыт 9 лет назад . Недавно я наткнулся на новый способ генерации случайных …
102 c++  c++11  random 

5
Сколько накладных расходов на интеллектуальные указатели по сравнению с обычными указателями в C ++?
Сколько накладных расходов на интеллектуальные указатели по сравнению с обычными указателями в C ++ 11? Другими словами, будет ли мой код медленнее, если я использую интеллектуальные указатели, и если да, то насколько медленнее? В частности, я спрашиваю о C ++ 11 std::shared_ptrи std::unique_ptr. Очевидно, что материал, помещенный в стек, будет …

6
Передача в функцию std :: array неизвестного размера
В C ++ 11, как мне написать функцию (или метод), которая принимает std :: array известного типа, но неизвестного размера? // made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr) { e *= multiplier; } } // lets imagine these being full of numbers …
102 c++  c++11  stdarray 

3
Есть ли ошибки в регулярных выражениях в gcc 4.8 или более ранней версии?
Я пытаюсь использовать std :: regex в фрагменте кода C ++ 11, но похоже, что поддержка немного глючна. Пример: #include <regex> #include <iostream> int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl; std::cerr << "st|mt|tr" …
101 c++  regex  gcc  c++11  libstdc++ 

8
Есть ли класс диапазона в С ++ 11 для использования с циклами на основе диапазона?
Я обнаружил, что пишу это совсем недавно: template <long int T_begin, long int T_end> class range_class { public: class iterator { friend class range_class; public: long int operator *() const { return i_; } const iterator &operator ++() { ++i_; return *this; } iterator operator ++(int) { iterator copy(*this); ++i_; …
101 c++  c++11  std 

13
Могу ли я реализовать на C ++ автономный тип члена self?
В C ++ отсутствует эквивалент ключевого слова PHPself , которое оценивает тип включающего класса. Достаточно легко подделать это для каждого класса: struct Foo { typedef Foo self; }; но мне пришлось писать Fooснова. Возможно, однажды я сделаю это неправильно и вызову тихую ошибку. Могу ли я использовать комбинацию из decltypeи …
101 c++  c++11 

11
Хеширование строки времени компиляции
Я читал в нескольких разных местах, что, используя новые строковые литералы C ++ 11, можно было бы вычислить хэш строки во время компиляции. Однако, похоже, никто не готов выступить и сказать, что это будет возможно или как это будет сделано. Это возможно? Как бы выглядел оператор? Меня особенно интересуют подобные …

3
Как специализировать std :: hash <Key> :: operator () для пользовательского типа в неупорядоченных контейнерах?
Для поддержки ключевых типов , определяемых пользователем в std::unordered_set&lt;Key&gt;и std::unordered_map&lt;Key, Value&gt; один должен обеспечивать operator==(Key, Key)и хэш - функтор: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); …


3
Разница между спецификатором throw () C ++ 03 C ++ 11 noexcept
Есть ли какая-то разница между throw()и, noexceptкроме проверки во время выполнения и во время компиляции, соответственно? В этой статье Wikipedia C ++ 11 предполагается, что спецификаторы throw C ++ 03 устарели. Почему так, noexceptдостаточно ли для того, чтобы охватить все это во время компиляции? [Примечание: я проверил этот вопрос и …
100 c++  exception  c++11  throw  noexcept 

3
Медленная реализация gcc std :: unordered_map? Если да, то почему?
Мы разрабатываем высокопроизводительное критически важное программное обеспечение на C ++. Там нам нужна параллельная хеш-карта и реализованная. Итак, мы написали тест, чтобы выяснить, насколько медленнее наша параллельная хэш-карта по сравнению с std::unordered_map. Но, std::unordered_mapкажется, невероятно медленно ... Так что это наш микро-тест (для одновременного отображения мы породили новую нить , …

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