Size: a a a

2020 June 22

R

RMaks in pro.cxx
ок
источник

R

RMaks in pro.cxx
Возможность для различных экземпляров одного и того же класса иметь разный набор полей разрешается концепцией ООП в языках программирования:

Выберите один ответ:
- в Python и Java;
- исключительно в Python;
- частично в Python и полностью в C ++ и C #;
- полностью в Java и частично в Python;
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
И это даже не по плюсам вопрос. Это тест какой-то?
источник

S

Serg in pro.cxx
Artöm Bakri Al-Sarmini
Здесь нет логики. Нулевой указатель занимает какое-то значение из диапазона значений uintptr_t
для новичков 0 и NULL  - одно и то же
и если будет реализации C которая это не сохраняет, то на ней мало кто захочет работать
ибо количество багов будет выше
источник

R

RMaks in pro.cxx
кто то шарит? можете помочь?
источник

R

RMaks in pro.cxx
да тест
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Serg
для новичков 0 и NULL  - одно и то же
и если будет реализации C которая это не сохраняет, то на ней мало кто захочет работать
ибо количество багов будет выше
Есть реализации, которые физически не могут сделать адрес 0 нулевым указателем
источник

S

Serg in pro.cxx
Artöm Bakri Al-Sarmini
Есть реализации, которые физически не могут сделать адрес 0 нулевым указателем
Какие например?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Кто в эмбеде шарит? Накиньте пример человеку
источник

SH

Serhii Herashchenko in pro.cxx
Serg
Какие например?
у которой адресация начинается с 0?)
источник

S

Serg in pro.cxx
Serhii Herashchenko
у которой адресация начинается с 0?)
можно считать что у всех с нуля начинается
источник

A

Alex Ф-ф-фэils!🌠︙... in pro.cxx
Mikhail Matrosov
зачем? почему бы просто компилятору не выводить текст и контекст исключения, когда оно выбрасывается на этапе компиляции?
это то, что будет видеть пользователь, да
источник

ПК

Побитый Кирпич... in pro.cxx
Serg
можно считать что у всех с нуля начинается
Там где 0 это валидный адрес и по нему можно алоцировать объект. Обращение к такому объекту, если б null pointer был бы строго равен 0 адресу было бы невозможно по стандарту (было бы UB).
источник

S

Serg in pro.cxx
Побитый Кирпич
Там где 0 это валидный адрес и по нему можно алоцировать объект. Обращение к такому объекту, если б null pointer был бы строго равен 0 адресу было бы невозможно по стандарту (было бы UB).
то что UB по стандарту, вполне може быть defined behavior для конкретной платформы
ну вот в DOS (small model) можно обращаться  по нулевым адресам и  там    (int)(char*)NULL == 0
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Serg
то что UB по стандарту, вполне може быть defined behavior для конкретной платформы
ну вот в DOS (small model) можно обращаться  по нулевым адресам и  там    (int)(char*)NULL == 0
Компилятор в этом не убедишь
источник

VS

Vlad Serebrennikov in pro.cxx
Serg
то что UB по стандарту, вполне може быть defined behavior для конкретной платформы
ну вот в DOS (small model) можно обращаться  по нулевым адресам и  там    (int)(char*)NULL == 0
>то что UB по стандарту, вполне може быть defined behavior для конкретной платформы
надо понимать, что это уже диалект С++
источник

S

Serg in pro.cxx
Artöm Bakri Al-Sarmini
Компилятор в этом не убедишь
Если в функцию поступает указатель, компилятор не встраивает проверок что указатель валидный
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Serg
Если в функцию поступает указатель, компилятор не встраивает проверок что указатель валидный
Ряд оптимизаций основан на том, что нулевой указатель нельзя разыменовывать
источник

S

Serg in pro.cxx
Artöm Bakri Al-Sarmini
Ряд оптимизаций основан на том, что нулевой указатель нельзя разыменовывать
всё может быть
оптимизации отключаемы
источник

ПК

Побитый Кирпич... in pro.cxx
Serg
всё может быть
оптимизации отключаемы
Когда валидность кода зависит от оптимизаций это гавнокод, очевидно)
источник