Эта таблица предоставляет частичный список элементов языка C++, которые были введены с C++ 14 и его соответствующего Polyspace® поддержка. Если ваш код содержит неподдерживаемые конструкции, Polyspace сообщает об ошибке компиляции.
C++ 14 Std Ref | Описание | Поддержанный |
---|---|---|
C++ 2014-N3323 | Неявное преобразование из типа класса в определенных контекстах, таких как delete или switch оператор. | Эта функция C++ 14 позволяет неявное преобразование из типа класса в определенных контекстах. Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3462 | Больше SFINAE- std::result_of | Да |
C++ 2014-N3472 | Двоичные литералы, например 0b100 . | Да |
C++ 2014-N3545 | operator() в integral_constant шаблон constexpr напечатать | Да |
C++ 2014-N3637 | Отношение между std::async и деструктор std::future | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3638 | Автоматическое вычитание типа возврата для функций, в которых явный тип возврата не задан | Да. В некоторых случаях Code Prover может показать ошибки компиляции. |
C++ 2014-N3642 | Суффиксы для пользовательских литералов, указывающих время (h , min , s , ms , us , ns ) и строки (s ) | Да |
C++ 2014-N3648 | Инициализация захваченных представителей в лямбда-функциях | Да. В некоторых случаях во время инициализации Code Prover может вызывать соответствующие конструкторы больше раз, чем нужно. |
C++ 2014-N3649 | Обобщенные (полиморфные) лямбда-выражения:
| Да |
C++ 2014-N3651 | Шаблоны переменных | Да |
C++ 2014-N3652 | Объявления, условия и циклы в constexpr функций. | Да |
C++ 2014-N3653 | Инициализация агрегатных классов с меньшим количеством инициализаторов, чем представители Для образца эта инициализация имеет меньше инициализаторов, чем представители. Область представителя struct S { int a; const char* b; int c; int d = b[a];}; S ss = { 1, "asdf" }; | Да |
C++ 2014-N3654 | std::quoted | Да |
C++ 2014-N3656 | std::make_unique | Да |
C++ 2014-N3658 | std::integer_sequence | Да |
C++ 2014-N3658 | std::shared_lock | Нет. Использование |
C++ 2014-N3664 | Вызывающие new и delete операторы пакетами. | Эта функция C++ 14 уточняет, как последовательные вызовы new оператор реализован. Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3668 | std::exchange | Частично поддерживается. |
C++ 2014-N3670 | Использование std::get с типом данных, чтобы получить один элемент в std::tuple (при условии наличия только одного элемента типа в кортеже) | Да |
C++ 2014-N3671 | Перегрузки для std::equal , std::mismatch и std::is_permutation шаблоны функций, которые принимают две отдельные области значений | Да |
C++ 2014-N3733 | Удаление std::gets от <cstdio> | Да |
C++ 2014-N3776 | Изменение формулировок для деструктора std::future | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3779 | std::complex литералы, представляющие чистые мнимые числа с суффиксом i , if или il | Да |
C++ 2014-N3781 | Использование одиночной кавычки в качестве диафрагмы цифр, например 1'000 . | Да |
C++ 2014-N3786 | Запрещение «из воздуха» результатов в C++ 14 | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3910 | Синхронизация поведения обработчиков сигналов | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3924 | Препятствующее использованию rand() | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ 2014-N3927 | Смертные приговоры без блокировки | Новый синтаксис/ключевое слово не вводится и поэтому не влияет на поддержку Polyspace для C++ 14. |
C++ standard version (-cpp-version)