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

СИ++ и контроль переполнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифрование/дешифрование: тасование бит % http://www.cyberforum.ru/cpp-beginners/thread381056.html
Лабораторная работа по предмету: Теория информации и Кодирования. Название: "шифрование/дешифрование: тасование бит %" Условие выполнения: Шифрование/дешифрование - тасование бит. Размеры...
C++ напишите функцию решения линейного уравнения напишите функцию решения линейного уравнения вида ах+b=0 и организуйте её вызов в основном теле программы. Результат выведите на экран. Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread381050.html
помогите исправить ошибки C++
Соседями элемента А с индексом ij в матрице назовем элементы A с индексом kl c i - 1 <= k <= i+1, j-1<=l<=j+1, (k,l) не =(i,j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый...
C++ Неправильно вычисляется минимальное значение в массиве
#include <stdio.h> #include <iostream.h> #include <conio.h> int main() { int max; int min; int a={3,5,8,2,5,8,5,6,9,16}; for(int i=0; i<10;i++) {
C++ Поиск слова в строке http://www.cyberforum.ru/cpp-beginners/thread381022.html
Есть переменная search стринг типа, в которую введено с клавы слово. Нужно найти это слово в текстовом файле и вывести полностью строку, в котором хранится это слово. Помогите плиз, а то чот никак...
C++ Класс "Мост". Синтаксические ошибки. Народ помогите переделать класс: #include<iostream> using namespace std; class most { char name ; unsigned int length; unsigned int height; public: void InArray(most *mostiki, int len); подробнее

Показать сообщение отдельно
LosAngeles
Заблокирован
11.11.2011, 14:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
    OVERFLOW_ASSERT(label) macro
        throw exception if OF == 1 || CF == 1
    params:
        label - name of label for compiler, so avoid of using the same name twice!
    return:
        code for MSVC or code for g++
*/
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
    #define OVERFLOW_ASSERT(label) \
    __asm { JNO label }; \
    __asm { JNC label }; \
    throw std::overflow_error("This is SPARTAAAA!"); \
label:
#elif defined(__GNUG__)
    #define OVERFLOW_ASSERT(label) \
    __asm__ ("JNO label" \
            "JNC label"); \
    throw std::overflow_error("This is SPARTAAAA!"); \
    __asm__ ("label:");
#endif
 
 
 
template< typename _Tp >
struct var
{
    _Tp data;
 
    var( const _Tp d ) : data(d) {};
 
    var<_Tp> & operator+=( const var<_Tp> d )
    {
        data += d.data;
        OVERFLOW_ASSERT(addition)
        return *this;
    }
 
    var<_Tp> & operator*=( const var<_Tp> d )
    {
        
        data *= d.data;
        OVERFLOW_ASSERT(multiplication)
        return *this;
    }
 
    _Tp & operator*()
    {
        return data;
    }
 
    operator _Tp()
    {
        return data;
    }
};
Добавлено через 9 минут
talis, кстати говоря в чём смысл 44 строки в твоём листинге? там же built-in оператор используется, и как бы нельзя проверить переполнение, а то я уже было обрадовался
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru