Size: a a a

2020 May 01

in pro.cxx
А возможно ли как-то узнать, сколько памяти будет стопроцентно заалоцировано в стеке в конкретном блоке кода, ещё на этапе компиляции?
источник

in pro.cxx
Блок кода - это который { ... }, без учёта условий внутри )
источник

AD

Andrey Davydov in pro.cxx
Mikhail Matrosov
мм. ок. хорошее наблюдение. это объясняет наличие проверки. но всё равно неясно, откуда берётся двойная индирекция. я кстати ожидал бы, что там какая-то фишка, которая и мешает компилятору понять, что мы переместили из объекта (занулили указатель) и проверять ничего не надо
В отличие от raw pointer unique_ptr не является trivially copyable, значит не может быть передан через регистры, отсюда двойная индирекция. Вторая проблема -- то что в Itanium ABI разрущением занимается вызывающая сторона (как уже обсудили тут). В MSVC, кстати, наоборот.
источник

AD

Andrey Davydov in pro.cxx
Artöm Bakri Al-Sarmini
Кроме static_assert есть примеры declaration, которые ничего не декларируют?
Нет.
источник

MM

Mikhail Matrosov in pro.cxx
Andrey Davydov
В отличие от raw pointer unique_ptr не является trivially copyable, значит не может быть передан через регистры, отсюда двойная индирекция. Вторая проблема -- то что в Itanium ABI разрущением занимается вызывающая сторона (как уже обсудили тут). В MSVC, кстати, наоборот.
какой ужас. моя жизнь никогда не будет прежней
источник

AD

Andrey Davydov in pro.cxx
Mikhail Matrosov
какой ужас. моя жизнь никогда не будет прежней
Для морально неустойчивых, Chandler подчеркивает, что все это не значит, что он призывает передавать raw pointers вместо smart pointers.
источник

IA

Igor Akhmetov in pro.cxx
Mikhail Matrosov
какой ужас. моя жизнь никогда не будет прежней
Я тоже думаю можно сильно не переживать, все-таки пример довольно надуманный. Умные пойнтеры обычно используют для владения, а не для передачи во функции.
источник

MM

Mikhail Matrosov in pro.cxx
ну я как бы и не собирался от них отказываться
источник

MM

Mikhail Matrosov in pro.cxx
просто ещё один островок "ну, тут вроде всё понятно" разрушен
источник

in pro.cxx
Блок кода - это который { ... }, без учёта условий внутри )
Так, я немного погуглил и переформирую вопрос )
источник

in pro.cxx
Как получить размер стекового кадра в конкретной функции на этапе компиляции (я не использую alloca)?
источник

A

AlexWhite in pro.cxx
Всем привет. Есть варианты повышения привилегий процесса из кода? SetPrivilege не помог.
Изначально скомпилить с правами администратора не вариант. Т.к идёт работа с любым другим процессом windows
источник

EP

Egor Pugin in pro.cxx
AlexWhite
Всем привет. Есть варианты повышения привилегий процесса из кода? SetPrivilege не помог.
Изначально скомпилить с правами администратора не вариант. Т.к идёт работа с любым другим процессом windows
повысить вроде нельзя, можно перезапуститься от админа
источник

ПК

Паша Калугин... in pro.cxx
Где можно почитать про неявное приведение типов (интересует в том числе порядок приведения)?
источник

IA

Igor Akhmetov in pro.cxx
Паша Калугин
Где можно почитать про неявное приведение типов (интересует в том числе порядок приведения)?
https://en.cppreference.com/w/cpp/language/implicit_conversion Без особой необходимости не советую в этом разбираться :)
источник

ПК

Паша Калугин... in pro.cxx
Igor Akhmetov
https://en.cppreference.com/w/cpp/language/implicit_conversion Без особой необходимости не советую в этом разбираться :)
Спасибо, но это я видел, попытался разобраться, но было больно. Есть что-нибудь более понятное?
источник

IA

Igor Akhmetov in pro.cxx
Паша Калугин
Спасибо, но это я видел, попытался разобраться, но было больно. Есть что-нибудь более понятное?
Конкретный вопрос задайте, может кто-нибудь поможет.
источник

ПК

Паша Калугин... in pro.cxx
Правда ли, что в случае с неявным приведением числовых типов меньший по размеру будет приводиться к большему?
источник

ПК

Паша Калугин... in pro.cxx
К примеру есть выражение:
(1 + 1ll) / 2
В каком типе будет результат?
источник

AD

Andrey Davydov in pro.cxx
Паша Калугин
Правда ли, что в случае с неявным приведением числовых типов меньший по размеру будет приводиться к большему?
да правда, вам нужен integral promotion
источник