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

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

7
Обеспечение порядка операторов в C ++
Предположим, у меня есть ряд операторов, которые я хочу выполнить в фиксированном порядке. Я хочу использовать g ++ с уровнем оптимизации 2, чтобы некоторые операторы можно было переупорядочить. Какие инструменты нужны, чтобы обеспечить определенный порядок высказываний? Рассмотрим следующий пример. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 …

4
Модули C ++ - почему они были удалены из C ++ 0x? Вернутся ли они позже?
Я только что обнаружил этот старый черновик C ++ 0x о модулях в C ++ 0x. Идея заключалась в том, чтобы выйти из текущей системы .h / .cpp, написав только файлы .cpp, которые затем будут генерировать файлы модулей во время компиляции, которые затем, в свою очередь, будут использоваться другими файлами …

2
Что означает токен «……»? т.е. оператор двойного многоточия в пакете параметров
Просматривая текущую реализацию новых заголовков C ++ 11 в gcc, я наткнулся на токен «......». Вы можете проверить, что следующий код компилируется нормально [через ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // this line is the important one …

5
std :: next_permutation Объяснение реализации
Мне было любопытно, как это std:next_permutationбыло реализовано, поэтому я извлек gnu libstdc++ 4.7версию и обработал идентификаторы и форматирование, чтобы создать следующую демонстрацию ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; …

5
Как правильно передавать параметры?
Я новичок в C ++, но не новичок в программировании. Я пытаюсь изучить C ++ (c ++ 11), и мне непонятно самое главное: передача параметров. Я рассмотрел эти простые примеры: Класс, в котором все члены примитивные типы: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), expYear(expYear), pin(pin) Класс, имеющий в …
108 c++  c++11 

3
std :: shared_ptr безопасность потока объяснил
Я читаю http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html, и мне все еще не понятны некоторые проблемы с безопасностью потоков: Стандарт гарантирует, что подсчет ссылок является потокобезопасным и независимым от платформы, верно? Аналогичная проблема - стандартные гарантии, что только один поток (содержащий последнюю ссылку) вызовет удаление для общего объекта, верно? shared_ptr не гарантирует безопасность потоков для …
106 c++  c++11  shared-ptr 


2
Подразумевает ли constexpr встроенный?
Рассмотрим следующую встроенную функцию: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } и версия, эквивалентная constexpr: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr int …

2
Как std :: move () передает значения в RValues?
Я просто обнаружил, что не до конца понимаю логику std::move(). Сначала я погуглил, но похоже, что есть только документы о том, как использовать std::move(), а не о том , как работает его структура. Я имею в виду, что я знаю, что такое функция-член шаблона, но когда я смотрю на std::move()определение …


8
Как проверить поддержку C ++ 11?
Есть ли способ определить во время компиляции, поддерживает ли компилятор определенные функции C ++ 11? Например, примерно так: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
104 c++  c++11 

5
Инициализация по умолчанию std :: array?
В C ++ 11 std::arrayесть ли у меня гарантия, что синтаксис std::array<T, N> x;инициализирует все элементы массива по умолчанию? РЕДАКТИРОВАТЬ : если нет, существует ли синтаксис, который будет работать со всеми массивами (включая массивы нулевого размера) для инициализации всех элементов их значением по умолчанию? РЕДАКТИРОВАТЬ : в cppreference в описании …

3
Добавляет ли C ++ 14 новые ключевые слова в C ++?
Комитет по стандартам C ++ имеет тенденцию уклоняться от добавления новых ключевых слов в язык, однако с C ++ 11 этого не произошло. Некоторые примеры: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Есть ли в C ++ 14 новые ключевые слова?
103 c++  c++11  keyword  c++14 

4
Где shared_ptr?
Я так расстроен прямо сейчас, после нескольких часов попыток найти, где находится shared_ptr. Ни в одном из примеров, которые я вижу, не показан полный код, включающий заголовки shared_ptr(и работающий). Просто констатировать std, tr1а <memory>совсем не помогает! Я скачал бусты и все такое, но он все еще не появляется! Может ли …

2
Какие классы исключений есть в стандартной библиотеке C ++
Какие классы исключений включены в стандартную библиотеку C ++ и для чего их следует использовать? Я знаю, что есть несколько новых исключений C ++ 11, но я не уверен, что это такое и где они находятся.
103 c++  exception  c++11  stl 

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