Size: a a a

2020 March 23

ПК

Побитый Кирпич in pro.cxx
Alex
надеюсь, что не всё так просто с byte на самом деле, иначе ничего он не фиксит
Ты лучше скажи зачем нужен байт без алиасинга
источник

PK

Pavel Kazakov in pro.cxx
Alex
слабый аргумент
это не слабый аргумент: тип определяется набором разрешенных операций, выравниванием и размером;
если разрешенных операций меньше, чем у похожего типа, то это уже другой тип
источник

A

Alex in pro.cxx
алиасинг - двоякое понятие. Нужно иметь возможность брать указатель на любую память, но не нужно, чтобы компилятор маниакально ожидал, что этот указатель указывает одновременно на все объекты в скоупе
источник

ПК

Побитый Кирпич in pro.cxx
Alex
алиасинг - двоякое понятие. Нужно иметь возможность брать указатель на любую память, но не нужно, чтобы компилятор маниакально ожидал, что этот указатель указывает одновременно на все объекты в скоупе
А по другому не сделаешь
источник

A

Alex in pro.cxx
Возможно, но я в этом не уверен на 100%, пусть об этой теоретической проблеме голова болит у стандартописателей
источник

ПК

Побитый Кирпич in pro.cxx
Alex
Возможно, но я в этом не уверен на 100%, пусть об этой теоретической проблеме голова болит у стандартописателей
Ты главное пойми, что щас для строк надо юзать char8_t, который не алиасится (хотя пока неудобно, но стремимся к этому), а для памяти std::byte (то для чего щас юзают char или uint8_t)
источник

A

Alex in pro.cxx
Логика есть
источник

A

Alex in pro.cxx
но хотелось бы всё-таки решения с другого конца
источник

m

magras in pro.cxx
Я не вижу где бы void* был similar для какого либо другого типа. Правда я не вижу и где бы определялось, что базовый класс был бы similar с наследником. Так что сдаюсь.
источник

m

magras in pro.cxx
Но на том же cppref говорится о том, что memcpy делает reinterpert_cast к unsigned char.
источник

Зл

Зелёный лес in pro.cxx
Друзья, ни кто случаем не знает Telegram-чата для программистов приложений для ВКонтакте? Есть вопрос по подключению моего встраиваемого приложения по HTTPS к моему сайту.
источник

DF

Dollar Føølish in pro.cxx
Привет. Подскажите , пожалуйста , про addrspace_cast<> что это такое и для чего нужен. И ещё не пойму что значит ошибка вроде binding reference to const ... to reference ... changes address space ? В чём суть этого всего?
источник

DF

Dollar Føølish in pro.cxx
Особенно интересует этот вопрос в случае инициализации ссылок (конст/неконст)
источник

PK

Pavel Kazakov in pro.cxx
Dollar Føølish
Особенно интересует этот вопрос в случае инициализации ссылок (конст/неконст)
константность явно должна совпадать :)
источник

DF

Dollar Føølish in pro.cxx
Нельзя сделать

struct {
const int &a

struct(int &b) : a(b)
}

Почему?

И такой вопрос: почему именно совпадать?
источник

NP

Nikita Provotorov in pro.cxx
Dollar Føølish
Нельзя сделать

struct {
const int &a

struct(int &b) : a(b)
}

Почему?

И такой вопрос: почему именно совпадать?
Такое можно. Можете привести минимальный пример, на котором у вас проблема возникает?
источник

DF

Dollar Føølish in pro.cxx
Блин второй раз уже с этим сталкиваюсь и второй раз выкидываю код с mre в помойку
источник

DF

Dollar Føølish in pro.cxx
Неуловимая тема какая то для меня
источник

DF

Dollar Føølish in pro.cxx
Вроде было что то типа

struct St {
const int &a
St(const int &as) : a(as)

}

И вот в мейне валилось на:
int i = 5
St{I}
источник

IA

Igor Akhmetov in pro.cxx
Dollar Føølish
Вроде было что то типа

struct St {
const int &a
St(const int &as) : a(as)

}

И вот в мейне валилось на:
int i = 5
St{I}
Сделайте конкретный пример на godbolt и дайте на него ссылку, или в @supapro.
источник