| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > про размер указателей |
| Автор: yaja 6.10.2005, 23:41 | ||||||
Имеется следующий класс(оставим его функциональную начинку и как написать это-же, но быстрее)
У меня стоит студия 2003 и она мне пишет дурацкие ворнинги, тина размер KDNode* и unsigned int различны в месте 2 и 4
а в месте 1 и 3
Я и так и сяк пытался от них избавиться, но тщетно, может кто-то знает в чем тут беда (может в проперти прописать что нужно) и как от этого избавиться (кроме их отключения) Буду благодарен любой помощи |
| Автор: chaos 7.10.2005, 06:11 | ||||||||
во первых я бы
замени на
второе: одно из решений например
заменить на
|
| Автор: chipset 7.10.2005, 06:12 | ||
ОХ! Размеры типов в С++ эта такая штука которая меняеться от компилятора к компилятору, поэтому рассчитывать на какой-то определенный размер указателя либо типа очень некрасиво и опасно. |
| Автор: yaja 7.10.2005, 19:06 |
| Спустя 10 минут, после того, как создал тему, осенило, что наверное на 64-битной платформе sizeof(int) = 4 а указатель имеет размер 8 )) Есче через 3 минуты нашел в свойствах проекта опцию о проверке совместимости с 64-битной платформой. Если там поставить No то ворнинги пропадают chaos пробовал и то и другое не помагало, но все равно спасибо за помощь. chipset Канечно некрасиво, но если все-таки использовать, то можно хорошо выровнять данные в кэш-линию и получить + 25-30% скорости, а так, как пишу я для души, а не для компании, то можно и написать такой код |