0
ответов

В каких версиях стандарта C++ поведение «(i+=10)+=10» не определено?

В C++ имеет ли следующее поведение undefined: int i = 0; (i+=10)+=10; В комментариях к моему ответу на вопрос «Каков результат += в C и C++» по этому поводу были некоторые дебаты? Тонкость...
вопрос задан: 23 May 2017 12:34
0
ответов

Не определено ли чтение неопределенного значения поведение?

Вопрос возник в комментариях к ответу на вопрос Всегда ли тип bool в C / C ++ гарантированно равен 0 или 1 при приведении типа к int? Рассматриваемый код выделяет (локальный) массив bool ...
вопрос задан: 23 May 2017 12:34
0
ответов

Как языки обрабатывают побочные эффекты составных операторов?

Предположим такую ​​ситуацию: int a = (--t) * (t-2); int b = (t / = a) + t; В C и C ++ это неопределенное поведение, как описано здесь: Неопределенное поведение и точки последовательности Однако, как эта ситуация ...
вопрос задан: 23 May 2017 12:32
0
ответов

Являются утечки памяти “неопределенным поведением” проблема класса в C++?

Оказывается, что многими невинно смотрящими вещами является неопределенное поведение в C++. Например, после того как ненулевой указатель был delete'd, даже распечатывающим то значение указателя, неопределенное поведение. Теперь память...
вопрос задан: 23 May 2017 12:24
0
ответов

Не определен ли вызов функции с нулевым указателем? [дубликат]

Возможный дубликат: когда вызов функции-члена для нулевого экземпляра приводит к неопределенному поведению? Стандарт с ++: разыменование указателя NULL для получения ссылки? Скажем, у меня есть класс: ...
вопрос задан: 23 May 2017 12:22
0
ответов

Является ли четко определенным / законным многократное размещение new по одному и тому же адресу?

(Примечание: этот вопрос был мотивирован попыткой придумать хакерский метод препроцессора, чтобы сгенерировать безоперационное выделение для ответа на этот другой вопрос: Макрос, который принимает новый объект ... так что имейте это в виду!) ...
вопрос задан: 23 May 2017 12:22
0
ответов

Что означает «предыдущее значение должно быть доступно только для определения значения, которое будет сохранено»?

Из ответа Прасуна на вопрос о «Неопределенном поведении и точках последовательности» я не понимаю, что означает следующее ... к предыдущему значению можно обращаться только для определения значения ...
вопрос задан: 23 May 2017 12:21
0
ответов

Почему удаление объекта, имеющего деструктор, не приводит к побочному эффекту неопределенного поведения в C++11?

Этот ответ цитирует C++11 Standard 3.8: если нет явного вызова деструктора или если для освобождения хранилища не используется выражение удаления (5.3.5), деструктор не должен быть неявно...
вопрос задан: 23 May 2017 12:20
0
ответов

Обнаружение подписанного переполнения в C / C ++

На первый взгляд этот вопрос может показаться дубликатом вопроса «Как обнаружить целочисленное переполнение?», Однако на самом деле он существенно отличается. Я обнаружил, что при обнаружении целого числа без знака ...
вопрос задан: 23 May 2017 12:17
0
ответов

Неопределенное поведение: контрольный список для проверки кода [дубликат]

Возможный дубликат: о каких типах неопределенного поведения должен знать программист на C ++? Я собираюсь подготовить контрольный список или руководство для самостоятельной проверки и проверки кода C ++, ...
вопрос задан: 23 May 2017 12:17
0
ответов

Неопределенные точки поведения и последовательности

Что такое «точки последовательности»? Какова связь между неопределенным поведением и точками последовательности? Я часто использую смешные и запутанные выражения, такие как [++ i] = i;, чтобы чувствовать себя лучше. Зачем ...
вопрос задан: 23 May 2017 12:10
0
ответов

Неправильные результаты при добавлении вектора к самому себе с помощью копирования и обратно _вставка [дубликат]

Вдохновленный этим вопросом о том, как добавить вектор к самому себе, моей первой мыслью было следующее (и да, я понимаю, что сейчас вставка — лучший вариант):#включить <алгоритм> #включают <...
вопрос задан: 23 May 2017 12:09
0
ответов

Является ли вывод printf("%d %d", c++, c ); тоже неопределенный?

Недавно я наткнулся на сообщение Какой правильный ответ для cout << c++ << c;? и было интересно, будет ли вывод int c = 0; printf("%d %d", c++, c); тоже не определено?? ...
вопрос задан: 23 May 2017 12:08
0
ответов

Программирование на C #define? [дубликат]

Возможный дубликат: Может ли кто-нибудь объяснить это неопределенное поведение (i = i ++ + ++ i, i = i ++ и т. д.) #include #include #define SQ (x) x * x void main () {int ...
вопрос задан: 23 May 2017 12:08
0
ответов

Что стандарт C ++ говорит о переполнении стека?

Я взглянул в черновике стандарта C ++ 0x, и, насколько я могу судить, там нет ничего о переполнении стека. Поиск по запросу «переполнение стека» не дал результатов, а поиск по запросу «стек» я ...
вопрос задан: 23 May 2017 12:06
0
ответов

Невозможно назначить объект изменчивому объекту

Я хочу назначить объект изменчивому объекту того же типа, но не смог сделать это из-за ошибки компилятора. Как изменить программу, чтобы это сделать? Кроме того, чтобы заставить его работать, почему я не могу сделать это напрямую? ...
вопрос задан: 23 May 2017 12:04
0
ответов

Как реализовать memmove в стандартном C без промежуточной копии?

Из справочной страницы в моей системе: void * memmove (void * dst, const void * src, size_t len); ОПИСАНИЕ Функция memmove () копирует len байтов из строки src в строку dst. ...
вопрос задан: 23 May 2017 12:03
0
ответов

Время жизни ссылки относительно ее цели

Чтобы остановить споры, продолжающиеся в комментариях к ответу, я дал недавно, я хотел бы получить конструктивные ответы на следующие вопросы: отличается ли время жизни ссылки от объекта ...
вопрос задан: 23 May 2017 12:00
0
ответов

Если значение неинициализированной переменной не должно влиять на значение выражения, это все еще UB?

Это следующее от обсуждения, которое я думаю, заслуживает своего собственного вопроса. По сути, это результат этого неопределенного? int x; int y = 1 || Икс; Здесь есть два аргумента «здравый смысл»: ...
вопрос задан: 23 May 2017 11:55
0
ответов

Чем const-объект, выделенный из кучи, отличается от неконст-объекта?

В C++ можно выделить const-объект на куче: const Class* object = new const Class(); const_cast( object )->NonConstMethod(); // UB, чтобы попытка записи в ...
вопрос задан: 23 May 2017 11:55
0
ответов

Является ли неопределенное поведение формированием диапазона указателя из адреса стека?

Некоторые программисты C или C ++ с удивлением обнаруживают, что даже сохранение недопустимого указателя является неопределенным поведением. Однако для массивов кучи или стека можно хранить адрес одного за концом ...
вопрос задан: 23 May 2017 11:54
0
ответов

Значит ли 'a[i] = i;' всегда приводит к четко определенному поведению?

Здесь поднимается несколько интересных вопросов, касающихся неопределенного поведения в C. Один из них (с небольшими изменениями) приводит ли следующий фрагмент кода к неопределенному поведению? int i = 0,...
вопрос задан: 23 May 2017 11:53
0
ответов

Является ли `new (this) MyClass ();` неопределенное поведение после прямого вызова деструктора?

В этом моем вопросе @DeadMG говорит, что повторная инициализация класса с помощью указателя this является неопределенное поведение. Есть ли где-нибудь в стандарте упоминание о нем? Пример: #include <...
вопрос задан: 23 May 2017 11:45
0
ответов

Что такое 'частично перекрывающиеся объекты'?

я просто проходил все возможные Неопределенные Поведения в этом потоке, и один из них является результатом присвоения частично перекрывающимся объектам, я задался вопросом, мог ли кто-либо дать мне a...
вопрос задан: 23 May 2017 11:43
0
ответов

Почему STL-Datastructures нуждаются в полностью определенных типах

При поиске решения этого вопроса я нашел эту ветку на другом форуме, в которой говорится, что стандарт требует, чтобы все параметры шаблона для STL-Datastructure были полностью определены . Это ...
вопрос задан: 23 May 2017 10:34
0
ответов

Смешивание класса и структуры

Я хорошо знаю разницу между классом и структурой, однако я изо всех сил пытаюсь авторитетно сказать, хорошо ли это определено: // объявить foo (struct) struct foo; // определяем foo (класс) class foo {...
вопрос задан: 23 May 2017 10:31
0
ответов

Почему это неопределенное поведение?

Почему следующее данное выражение вызывает неопределенное поведение? int я = 5; i = (i, i ++, i) + 1 На мой вопрос влияет вопрос Алса здесь
вопрос задан: 23 May 2017 10:27
0
ответов

Это неопределенное поведение в C? Если не предсказать выход логически

Код 1 #include < stdio.h > int f (int * a, int b) {b = b - 1; if (b == 0) вернет 1; иначе {* a = * a + 1; вернуть * a + f (a, b); }} int main () {int X = 5; Е ( "% d \ п", е (& амп; Х, ...
вопрос задан: 21 January 2017 10:17
0
ответов

Является ли `x—> 0 && array [x]` вполне определенным поведением в C ++?

Могу ли я использовать x с обеих сторон логического выражения, когда я увеличиваю его на левая сторона? Рассматриваемая строка: if (x--> 0 && array [x]) {/ *… use x… ​​* /} Это определено через ...
вопрос задан: 3 January 2017 20:25
0
ответов

Можно ли изменить значение объекта, определенного с помощью const, с помощью указателей?

#include int main() { const int a = 12; int *p; p = &a; *p = 70; } Будет ли это работать?
вопрос задан: 16 October 2016 14:43