Re[12]: Что должна вернуть функция?
От: kov_serg Россия  
Дата: 30.07.21 20:36
Оценка:
Здравствуйте, rg45, Вы писали:

_>>В каких ещё языках кроме C/C++ есть подобные практики?

R>У каждого языка есть свои слабые и сильные стороны и если уж сравнивать, то по совокупности. Иначе это просто беспредметный разговор.
Это не слабые стороны — это глупость.
Повторю есть ли еще языки программирования с такими идиотскими "чудными" правилами?
Re[13]: Что должна вернуть функция?
От: B0FEE664  
Дата: 02.08.21 07:58
Оценка:
Здравствуйте, kov_serg, Вы писали:

R>>У каждого языка есть свои слабые и сильные стороны и если уж сравнивать, то по совокупности. Иначе это просто беспредметный разговор.

_>Это не слабые стороны — это глупость.
Это только на первый взгляд так кажется.

_>Повторю есть ли еще языки программирования с такими идиотскими "чудными" правилами?

А есть ли ещё языки программирования с таким быстрым результирующим кодом?
И каждый день — без права на ошибку...
Re[9]: Что должна вернуть функция?
От: B0FEE664  
Дата: 02.08.21 08:20
Оценка:
Здравствуйте, kov_serg, Вы писали:

BFE>>Здесь ровно тоже самое: x слева и x справа не обязаны иметь одно и тоже значение.

_>Если у меня переменная не volatile почему она имеет не одно и тоже значение?
Всё потому же
Автор: B0FEE664
Дата: 30.07.21
.

BFE>>Скажите, kov_serg, а вы понимаете, что в выражении:

BFE>>x = 1 + x
BFE>>значения x слева и x справа имеют разные значения?
_>Тут операция явного изменения значения переменной x. Как это связано с последующим вопросом?
BFE>>Если ответ "да", то почему вы предполагаете, что в выражении "x==x" должно быть иначе?
_>А почему вы считаете что данное равенство не должно выполняться?

Смотрите, с точки зрения математики не существует такого x, что x = 1 + x. Вы, однако, понимаете, что "Тут операция явного изменения значения переменной x.". Следовательно то, что понимается под x в программировании — это не тоже самое, что понимается под х в математике. Это совершенно разные по семантике записи не смотря на то, что по синтаксису они похожи. В частности, x == x — это никакое не равенство. Это операция сравнения. Программа вида int x; return x == x; означает: взять произвольное неопределённое значение и сравнить его с произвольным неопределённым значением. Стоит ли удивляться результату при такой семантике?
И каждый день — без права на ошибку...
Re: Что должна вернуть функция?
От: Evgeny.Panasyuk Россия  
Дата: 14.08.21 11:45
Оценка: +1
Здравствуйте, kov_serg, Вы писали:

_>И почему clang начиная с 5-ой версии считает что 0 будет самый раз?


Потому что Clang 5-ой версии выдаёт ошибку компиляции: https://godbolt.org/z/dTYs8K695
У кого не выдаёт — ССЗБ.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.