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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
KBAC
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 72
#1

assert.h - C++

03.02.2012, 21:18. Просмотров 1148. Ответов 3
Метки нет (Все метки)

Как понять часть после "||"? Оно выводит на экран, или куда то еще записывает ?
C++
1
assert(value == 0 || !"Value not good")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2012, 21:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос assert.h (C++):

Assert - C++
Помогите пожалуйста написать функцию ассерт в файле... не знаю как((( объяяяясните..вопрос жизни и смерти

Деректива assert - C++
Как правильно? #include <iostream> #include <assert.h> #define NDEBUG assert(n == 0); int main() { int n=0; ...

Необходимо помочь с след. функциями assert(), malloc(), iterator - C++
Здравствуйте! Есть вопрос по реализации некоторых функций. Написана программа стек в СИ + все возможные действия + доп. стек (корзина)....

Как исправить Debug Assert Failed в коде работы с матрицей? - C++
Здравствуйте, мне нужно сделать такое задание: Написать функцию для произвольного двухмерного классического массива с использованием...

макрос assert() для считывания даных из файла из указаного диапазона - C++
Нужно считать даные из текстового файла и определить сколько есть чисел, букв, пробелов и т.д. Это всё я сделал. Но как использовать...

Исключения, возврат кодов ошибок, assert и 1 вопрос про исключение. - C++
Как правильно выбирать в какой ситуации применять то, а в какой другое? Есть, конечно, очевидные ситуации, например, не открывается файл,...

3
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
03.02.2012, 21:27 #2
если value != 0, во время исполнения программа аварийно завершится с выводом сообщения
Assertion failed: value == 0 || !"Value not good", file файл, line № строки
0
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
03.02.2012, 21:44 #3
retmas,

Не по теме:

без пруда не выловишь рыбку и с трудом = Без рыбки, сколько не прудись, напрасен будет труд

0
Evg
Эксперт CАвтор FAQ
17934 / 6160 / 408
Регистрация: 30.03.2009
Сообщений: 16,913
Записей в блоге: 27
04.02.2012, 15:09 #4
Весь этот изврат сделан только для того, чтобы в печати засветить строку "Value not good". Чтобы не лазить в исходники программы и не смотреть, что за код был написан в файле таком-то, строке такой-то.

Технически это выражается в то, что строковой литерал как бы является указателем (непустым), а над указателем допустима операция !. Таким образом логическое выражение !"abc" всегда равно true и потому на результат вычисления выражения в assert'е не влияет, но компилятор при построении кода его удаляет как мёртвый код (по правилу "x | 1 == x"). Т.е. с одной стороны в коде не остаётся никаких дополнительных проверок, с другой стороны в печати засвечивается требуемая строка (потому что всё выражение, стоящее внутри assert'а, попадает в печать)

Добавлено через 2 минуты
Подразумевается, что вместо ничего не значащей фразы "Value not good" в коде написано что-то более осмысленное, помогающее понять смысл данного assert'а.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2012, 15:09
Привет! Вот еще темы с ответами:

assert vs exception - Java
Здравствуйте! Допустим, есть метод, принимающий как параметр (data) какой-то ссылочный тип(например массив) Вопрос: как лучше делать в...

Assert() Error - PHP
Здравствуйте , уважаемые форумчане!!! Возникла проблема с assert()... В-общем есть model.php <?php

Модульное тестирование, Assert - C#
Всем привет, есть вопрос! В модульном тесте у меня идет подряд множество Assert-ов: Assert.AreEqual(p1,p2, message); //..; ...

ASSERT No style available without qapplication - C++ Qt
В qt я новичок. Имеется следующий проект main.cpp #include <QCoreApplication> #include <QtWebKitWidgets/QWebPage> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
04.02.2012, 15:09
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru