Форум программистов, компьютерный форум CyberForum.ru

Не ловит exception - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ данная целочисленная матрица размерности M х N. Найти количество ее строк, все элементы которых различны http://www.cyberforum.ru/cpp-beginners/thread904782.html
данная целочисленная матрица размерности M х N. Найти количество ее строк, все элементы которых различны.
C++ Не получается компилировать Начал изучать программирование. Читаю книгу Дейтелов "Как программировать на С++" 5-е издание Вот первая программа в этой книге: // Рис. 2.1: fig02_01.cpp // Программа, печатающая текст. #include <iostream> // позволяет программе выводить данные на экран // функция main начинает исполнение программы int main() { http://www.cyberforum.ru/cpp-beginners/thread904778.html
Определить, является ли заданная последовательность символов арифметическим выражением C++
Определить, является ли заданная последовательность символов арифметическим выражением, состоящий из целых чисел и четырех основных арифметических операций.
С++ Builder Определить количество слов, которые заканчиваются одной и той же буквой C++
Дана строка, которая состоит из английских слов, разделенных пробелами. Определить количество слов, которые заканчиваются одной и той же буквой.
C++ Class MyInt http://www.cyberforum.ru/cpp-beginners/thread904745.html
Почитал литературы и решил создать свой первый class myint. Хотел добавить перегрузки операций и тестирование но завис. Выдает 3 ошибки, немогу понять как их исправить и с чем они связаны. Я новичек в этом деле. Прошу мне помочь и объяснить. И скорее всего написана сплошная белеберда!!! #include <stdio.h> class MyInt { public: int n; MyInt ()
C++ Сложить пятнадцатое простое , четвертое совершенное и первое нечетное избыточное число Сложить пятнадцатое простое , четвертое совершенное и первое нечетное избыточное число( составить 3 функции , которые будут проверять является ли число простым, совершенным , избыточным соответственно) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.06.2013, 12:28     Не ловит exception
Tulosba, Ну там, всю статью надо читать. В N3242 оба эти оператора были noexcept.
C++
1
constexpr bool operator[](size_t pos) noexcept;
49 Requires: pos shall be valid.
50 Returns: true if the bit at position pos in *this has the value one, otherwise false.
C++
1
bitset<N>::reference operator[](size_t pos) noexcept;
51 Requires: pos shall be valid.
52 Returns: An object of type bitset<N>::reference such that (*this)[pos] == this->test(pos),
and such that (*this)[pos] = val is equivalent to this->set(pos, val).
53 Remark: For the purpose of determining the presence of a data race (1.10), any access or update
through the resulting reference potentially accesses or modifies, respectively, the entire underlying
bitset.
В N3337 уже нет.

На тему данного дока, покидаю нужные цитатки
Wide Contracts
A wide contract for a function or operation does not specify any undefined behavior. Such a contract has no preconditions: A function with a wide contract places no additional constraints on its arguments, on any object state, nor on any external global state. Examples of functions having wide contracts would be vector<T>::begin() and vector<T>::at(size_type) . Examples of functions not having a wide contract would be vector<T>::front() and vector<T>::operator[](size_type).

Narrow Contracts
A narrow contract is a contract which is not wide. Narrow contracts for a functions or operations result in undefined behavior when called in a manner that violates the documented contract. Such a contract specifies at least one precondition involving its arguments, object state, or some external global state, such as the initialization of a static object. Good examples of standard functions with narrow contracts are vector<T>::front() and vector<T>::operator[](size_type)

Alternative additional recommendation
If the core language is not amended to support a testing mode, we recommend the following guideline:
• Remove noexcept specifications from each library function having a narrow contract, typically (but not always) indicated by the presence of a Requirements: clause
В частности bitset<N>::operator[] имеет narrow contract, т.к. проверки запрещены, данные передаются от пользователя, не соблюдение precondition есть UB.
 
Текущее время: 22:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru