MSVC sizeof(unisgned _int64)
От: nen777w  
Дата: 18.01.20 08:57
Оценка: 3 (1)
Отредактировано 18.01.2020 9:00 nen777w . Предыдущая версия . Еще …
Отредактировано 18.01.2020 8:59 nen777w . Предыдущая версия .
Отредактировано 18.01.2020 8:58 nen777w . Предыдущая версия .
Re: MSVC sizeof(unisgned _int64)
От: σ  
Дата: 18.01.20 09:13
Оценка: +3
И?
Re: MSVC sizeof(unisgned _int64)
От: CaptainFlint Россия http://flint-inc.ru/
Дата: 18.01.20 10:02
Оценка: +1
Здравствуйте, nen777w, Вы писали:

N>Image: sizeof_int64_v2.jpg


Если речь про Type, то, как я понимаю, там тип вычисляемого выражения, то бишь, sizeof'а. А как объявлено bits, мы не знаем.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re: MSVC sizeof(unisgned _int64)
От: Pzz Россия https://github.com/alexpevzner
Дата: 18.01.20 10:36
Оценка: +4
Здравствуйте, nen777w, Вы писали:

N>Image: sizeof_int64_v2.jpg


А вот unisgned _int64 в третей колонке — это тип внутри скобок у sizeof'а, или тип, который sizeof возвращает?

В принципе, sizeof возвращает size_t, который на 64-битных платформах и есть unisgned_int64. Так что на вид все логично.
Re: MSVC sizeof(unisgned _int64)
От: Vain Россия google.ru
Дата: 20.01.20 12:40
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Image: sizeof_int64_v2.jpg

Это суперпозиция состояний. Когда смотришь на bits — он 4. Когда нет — 8.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: MSVC sizeof(unisgned _int64)
От: Alexander G Украина  
Дата: 21.01.20 08:32
Оценка:
Здравствуйте, nen777w, Вы писали:

N>http://files.rsdn.org/38394/sizeof_int64_v2.jpg


Есть подозрение, что не всё так плохо, парсер watch выражений — это что-то отдельное от компилятора, и при sizeof в коде проблема не повторится.
Русский военный корабль идёт ко дну!
Re[2]: MSVC sizeof(unisgned _int64)
От: rg45 СССР  
Дата: 21.01.20 09:14
Оценка: +2
Здравствуйте, Alexander G, Вы писали:

N>>http://files.rsdn.org/38394/sizeof_int64_v2.jpg


AG>Есть подозрение, что не всё так плохо, парсер watch выражений — это что-то отдельное от компилятора, и при sizeof в коде проблема не повторится.


Так а в чем здесь проблема, может объяснить кто-нибудь?
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[3]: MSVC sizeof(unisgned _int64)
От: Alexander G Украина  
Дата: 23.01.20 04:27
Оценка:
Здравствуйте, rg45, Вы писали:


R>Так а в чем здесь проблема, может объяснить кто-нибудь?


Я исхожу из предположения, что bits имеет тип unisgned _int64 .
Из скриншота это не следует, но предполагаю, что это подразумевается автором и соответствует действительности, иначе проблемы действительно нет
Русский военный корабль идёт ко дну!
Re[4]: MSVC sizeof(unisgned _int64)
От: Mr.Delphist  
Дата: 23.01.20 11:00
Оценка: +1
Здравствуйте, Alexander G, Вы писали:

AG>Здравствуйте, rg45, Вы писали:



R>>Так а в чем здесь проблема, может объяснить кто-нибудь?


AG>Я исхожу из предположения, что bits имеет тип unisgned _int64 .

AG>Из скриншота это не следует, но предполагаю, что это подразумевается автором и соответствует действительности, иначе проблемы действительно нет

CaptainFlint и Pzz уже ответили выше: в колонке Type показан тип, который имеет выражение sizeof(), а не тип в в скобочках этого сайз-офа. Соответственно

* bits имеет тип __int32 или unsigned __int32
* sizeof(bits) имеет тип unsigned __int64, ибо это size_t для билда 64 бит

Именно поэтому в колонках Value и Type мы имеем 4 и unsigned __int64

Далее:

* unsigned __int64 имеет тип... unsigned __int64! Капитан сегодня явно в ударе!
* sizeof(unsigned __int64) имеет тип unsigned __int64, ибо это size_t для билда 64 бит

В итоге, имеем для второй строки 8 и unsigned __int64 — ноу проблема.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.