Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202

UB и логические операторы

17.02.2016, 12:32. Показов 1687. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Является ли следующее выражение UB????

C++
1
ptr != 0 && *ptr++
нужно рассмотреть 2 варианта:
1) ptr - нулевой указатель
2) ptr не нулевой указатель

Насколько я понял:
1) В логическом оператора && всегда первым обрабатывается первый операнд, следовательно общее значение выражения false (второй операнд даже не рассматривался)
2) Рассматривается первый операнд - значение true, идем к второму оператору и это не UB, так как второй операнд не влияет на первый (его значение мы уже рассмотрели)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2016, 12:32
Ответы с готовыми решениями:

Определить и вывести количество дней между двумя датами (логические операторы и операторы ветвлений)
Задачка Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить и вывести количество дней между этими...

Записать логические выражения, используя условные операторы, операции отношений и логические операции
Записать логические выражения, используя условные операторы, операции отношений и логические операции алгоритмического языка ...

Операторы отношений и логические операторы
Всем добрый день. Очередной день изучения Г.Шилда С++ базовый курс, дошел до Операторов отношений, все понял, но не компилируется данный...

28
17.02.2016, 17:19
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Представим, что класс S из моего примера это "умный" (пусть и недостаточно) указатель
умный указатель, это же не указатель :)

0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.02.2016, 17:19
Цитата Сообщение от Kastaneda Посмотреть сообщение
вот так же надо
Да-да. И можно ещё результат сравнения на истину проверить, а потом проверить результат сравнения на истину на истину ...
C++
1
if((static_cast<bool>(s) == true) == true)
1
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
17.02.2016, 17:38
Babysitter,
A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true.
Однако я всегда пишу nullptr - сразу видно, что это указатель, а не что-то еще.
1
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.02.2016, 17:43
Цитата Сообщение от ct0r Посмотреть сообщение
я всегда пишу nullptr - сразу видно, что это указатель, а не что-то еще.
Как-то так?) if( (static_cast<bool>(ptr) == true) != nullptr )
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
17.02.2016, 17:49
rikimaru2013, не, вот так:
C++
1
2
3
4
if (wtf != nullptr) {
  if (wtf != nullptr) {
    // wtf != nullptr, 200%
    ...
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
17.02.2016, 17:50
Цитата Сообщение от ct0r Посмотреть сообщение
wtf != nullptr, 200%
не факт, если другой поток вклинится
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.02.2016, 17:54
Шутки шутками, но я видел такое:
C++
1
2
3
4
5
6
7
bool foo(some* ptr)
{
    if( ptr->getE() )
        return true;
    else
        return false;
}
Мой психиатр говорит, что я должен отпустить это и просто забыть.
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
17.02.2016, 17:55
Croessmah, я писал про однопоточную среду. В многопоточной я использую Ten-Thousands-Checked Locking Pattern
1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
17.02.2016, 18:05
Цитата Сообщение от ct0r Посмотреть сообщение
В многопоточной я использую Ten-Thousands-Checked Locking Pattern
Это хорошо, главное, что не Double-Checked-Lock Pattern
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.02.2016, 18:05

Операторы отношений и логические операторы
изучаю C++ по Шилдту, и частенько встречаются не рабочии коды и приходится доделывать под себя, но в этот раз я не пойму почему у него в...

Логические операторы
Верно ли уж так на все 100%, что выполнение логических операций по укороченной схеме заведомо эффективнее, нежели чем безусловное...

Логические операторы в выражениях
Здравствуйте, в одном из тестов для новичков наткнулся на вопрос: каков результат работы следующего кода: int d = 5; bool b = true,...

Не работают логические операторы
Выдает такую ошибку, в интернете не понял как решить, тренируюсь по пособию, там код слово в слово

Условные операторы и логические выражения
Записать логические выражения, используя условные операторы, операции отношений и логические операции алгоритмического языка. График...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru