Size: a a a

2021 February 23

s

std::slavik in supapro.cxx
сила плюсов в том что они позволяют не платить за то чем ты не пользуешься
но за эту возможности приходится платить сложностью программирования
источник

LA

Liber Azerate in supapro.cxx
std::slavik
сила плюсов в том что они позволяют не платить за то чем ты не пользуешься
но за эту возможности приходится платить сложностью программирования
Например за многопоточную синхронизацию инициализации статиков, когда у тебя один поток
источник

CD

Constantine Drozdov in supapro.cxx
std::slavik
вот типа использование 0 адреса как нулевого указателя - один из компромиссов - потеряв по сути одно слово машинное из адресного пространства мы получаем возможность в рантайме по сути "изменять тип указателя"  делая его с точки зрения языка инициализированным/не инициализированным, при этом сохраняя статическую типизацию
но адрес 0 это не нулевой указатель
источник

PY

Phil Yar in supapro.cxx
адрес вообще штука абстрактная)
источник

s

std::slavik in supapro.cxx
Constantine Drozdov
но адрес 0 это не нулевой указатель
это детали реализации
источник

s

std::slavik in supapro.cxx
0 не 0 - нам нужно какое то число
источник

s

std::slavik in supapro.cxx
которое мы договоримся использовать как идентификатор того что указатель ни на что не указывает
источник

s

std::slavik in supapro.cxx
и если мы попробуем перейти по этому адресу - поведение не определено
источник

Е

Егор in supapro.cxx
Тут когда-то писали что какая-то из либси реализована на С++, можете подсказать какая именно?
источник

DK

David Kravets in supapro.cxx
std::slavik
лежат, но в скомпилированном коде нет информации об их структуре
Какая разница в каком виде, структура сохраняется
источник

s

std::slavik in supapro.cxx
в принципе - никто не мешает, например, использовать один бит из отведенных под указатель как флаг - инициализирован он или нет, как для знаковых чисел, тогда мы сможем по нулевому адресу обращаться, но при этом потеряем половину адресов
источник
2021 February 24

s

std::slavik in supapro.cxx
David Kravets
Какая разница в каком виде, структура сохраняется
большая
источник

s

std::slavik in supapro.cxx
в питоне можно в рантайме добавить прямо к классу метод какой нибудь
источник

s

std::slavik in supapro.cxx
и в рантайме же проверить - есть ли такой метод у класса
источник

s

std::slavik in supapro.cxx
в плюсах мы можем только использовать структуру определенную во время компиляции, потому что избыточности нет
источник

DK

David Kravets in supapro.cxx
std::slavik
в питоне можно в рантайме добавить прямо к классу метод какой нибудь
Потому что интерпретация
источник

s

std::slavik in supapro.cxx
David Kravets
Потому что интерпретация
нет
источник

s

std::slavik in supapro.cxx
потому что динамическая типизация
источник

s

std::slavik in supapro.cxx
разницы между интерпретацией и компиляцией принципиальной по сути нет
источник

s

std::slavik in supapro.cxx
вот взять годболт например - мы можем сказать что это интерпретатор
а компиляторы - часть интерпретатора
мы вставляем текст программы и получаем результат
источник