Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
#1

uint32, size_t и подобные им - C++

01.09.2013, 10:53. Просмотров 7224. Ответов 41
Метки нет (Все метки)

Собственно, в чем смысл данных типов, в отличие от обычных unsigned int, int и подобных им?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2013, 10:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос uint32, size_t и подобные им (C++):

Беззнаковый тип size_t: чем различие между size_t, uintptr_t, ptrdiff_t и intptr_t?
В чем вообще его смысл? Разве запись double a = {1,2,3}; int i = 1;...

uint32 и UINT64
Господа, не подскажете ли, какие магические слова надо написать, чтобы начать...

size_t в операторе for
Здравствуйте. Возникла проблема с типом size_t. Данный цикл почему то...

size_t и npos
Здраствуйте! Тут в одной теме нашёл код #include<string> #include<iostream>...

Malloc для size_t
структура вида struct BufferParam { double* pBuffer; ...

Что такое Size_t
size_t чет про него так мало инфы и так мутно написанно в инете я так...

41
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
01.09.2013, 14:16 #21
Цитата Сообщение от ValeryS Посмотреть сообщение
x86 принято так называть 32 битные процессоры
в них не входит 8086, 8088, 80186, 80286 они не 32 битные
x64 соответственно 64битные
Довольно распространенное заблуждение. Все перечисленные Вами архитектуры относятся к x86.
x64 - придумано не знающими для не знающих.
1
nexen
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
01.09.2013, 14:23  [ТС] #22
castaway, везде читал именно это (x86 = x32 = 32-битые, ну и x64 = 64-битные)
0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
01.09.2013, 14:25 #23
nexen, везде - это где? Хотя бы один пример.
0
Jupiter
01.09.2013, 14:26
  #24

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
x64 - придумано не знающими для не знающих.
не, типичный маркетинг, так что называть первых не знающими...

0
castaway
01.09.2013, 14:30
  #25

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
не, типичный маркетинг, так что называть первых не знающими...
Ну ты говоришь абстракциями, какой такой маркетинг если есть конкретные термины!?

0
ValeryS
Модератор
7134 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,227
01.09.2013, 14:36 #26
Цитата Сообщение от castaway Посмотреть сообщение
Довольно распространенное заблуждение. Все перечисленные Вами архитектуры относятся к x86.
я где то утверждал обратное?
я говорил "Так принято" а не "так необходимо"
Цитата Сообщение от castaway Посмотреть сообщение
везде - это где? Хотя бы один пример.
элементарно
скачиваешь драйвера, а там две папки "х86"для 32-битных систем и "х64" для 64-битных
заметь дров для 16-битных процессоров(систем) нет, хотя они и называются 86-совместимые
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
01.09.2013, 14:36 #27
castaway,
при сборке программы под <...> размер size_t будет не 4, а 8 байт.
Какое слово лучше всего вставить вместо <...> ?
x64, AMD64, EM64T - не пойдет, так как эти термины обозначают процессорную архитектуру, а в ней нет size_t.
Win64 - тоже не пойдет, это MS-специфик, да еще может ввести в заблуждение из-за WOW64.
64-bit - снова не годится, т.к. архитектуры могут быть разные.
Терминология запутанная. Я использую x64 как наиболее обобщенное и понятное.
0
Jupiter
01.09.2013, 14:38
  #28

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Ну ты говоришь абстракциями, какой такой маркетинг если есть конкретные термины!?
castaway, обычный от M$, Win x64 продать легче чем Win x86-64:D

0
Croessmah
01.09.2013, 14:40
  #29

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
castaway, обычный от M$, Win x64 продать легче чем Win x86-64
А еще круче будет продавать Win amd64:D

0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
01.09.2013, 14:47 #30
Цитата Сообщение от ValeryS Посмотреть сообщение
я где то утверждал обратное?
В 20-м посте. http://www.cyberforum.ru/cpp-beginne...ml#post5007889

Убежденный, Windows 64

Не по теме:

Jupiter, ну мы же здесь обсуждаем не маркетинг, а программирование, и в данном случае реальные названия архитектур x86 и их сокращения.

0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
01.09.2013, 14:50 #31
Цитата Сообщение от castaway Посмотреть сообщение
Убежденный, Windows 64
Это не очень удачно из-за WOW64.
Так можно ввести в заблуждение, что у 32-битной программы, запущенной на
64-битной Windows, размер size_t будет 8 байт, а не 4.
0
ValeryS
Модератор
7134 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,227
01.09.2013, 14:57 #32
Цитата Сообщение от castaway Посмотреть сообщение
В 20-м посте.
ну и
Цитата Сообщение от ValeryS Посмотреть сообщение
x86 принято так называть 32 битные процессоры
я написал "так называются"?
каюсь забыл слово "системы"
вот тебе еще пример
http://www.microsoft.com/ru-ru/download/details.aspx?id=16614
Microsoft .NET Framework 2.0 с пакетом обновления 1 (x86)
можно ли поставить это на 8086?

http://www.microsoft.com/ru-ru/download/details.aspx?id=6041
Microsoft .NET Framework 2.0 с пакетом обновления 1 (x64)
это к тому что никто не использует
0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
01.09.2013, 15:04 #33
Цитата Сообщение от Убежденный Посмотреть сообщение
Это не очень удачно из-за WOW64.
Так можно ввести в заблуждение, что у 32-битной программы, запущенной на
64-битной Windows, размер size_t будет 8 байт, а не 4.
Ну давай поспорим..
Сейчас у меня Windows 64, MinGW (GCC 4.7.3), следующая программа (независимо от того, собрана она с ключем -m32 или нет выдает один и тот же результат) что должна выдать? Какие предположения?
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    std::cout << sizeof( size_t ) << std::endl;
    return 0;
}
Да и вообще я не понимаю, как от ОС может зависеть размер size_t ?

Добавлено через 6 минут

Не по теме:

ValeryS, ок. Будем считать что это коммерческие термины. Но для меня важно что это значит на самом деле, и как эти термины трактуют.

0
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,929
Записей в блоге: 3
Завершенные тесты: 1
01.09.2013, 15:05 #34
Цитата Сообщение от castaway Посмотреть сообщение
независимо от того, собрана она с ключем -m32 или нет выдает один и тот же результат
uint32, size_t и подобные им
0
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,929
Записей в блоге: 3
Завершенные тесты: 1
01.09.2013, 15:06 #35
Цитата Сообщение от castaway Посмотреть сообщение
как от ОС может зависеть размер size_t ?
Зависит всё таки под какую разрядность будет скомпилирован код, а не от того где он будет запускаться
0
castaway
01.09.2013, 15:06
  #36

Не по теме:

Croessmah, я что-то говорил о ключе -m64 ?

0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
01.09.2013, 15:08 #37
Цитата Сообщение от Croessmah Посмотреть сообщение
Зависит всё таки под какую разрядность будет скомпилирован код, а не от того где он будет запускаться
Да, пока не разгорелась форумная битва, хотел бы уточнить, что именно это я и имел в виду.
0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
01.09.2013, 15:09 #38
Цитата Сообщение от Croessmah Посмотреть сообщение
Зависит всё таки под какую разрядность будет скомпилирован код, а не от того где он будет запускаться
Я об этом и говорю. При чем тут ОС ?

Добавлено через 1 минуту
Цитата Сообщение от Убежденный Посмотреть сообщение
Так можно ввести в заблуждение, что у 32-битной программы, запущенной на
64-битной Windows, размер size_t будет 8 байт, а не 4.
Цитата Сообщение от Убежденный Посмотреть сообщение
именно это я и имел в виду.
Как раз именно такое "именее в виду" может ввести в заблуждение...
0
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,929
Записей в блоге: 3
Завершенные тесты: 1
01.09.2013, 15:10 #39
Цитата Сообщение от castaway Посмотреть сообщение
При чем тут ОС ?
Может я просто не правильно Вас понял, но, как мне показалось, этим
Цитата Сообщение от castaway Посмотреть сообщение
Ну давай поспорим..
опровергаете это:
Цитата Сообщение от castaway Посмотреть сообщение
Так можно ввести в заблуждение, что у 32-битной программы, запущенной на
64-битной Windows, размер size_t будет 8 байт, а не 4.
Цитата Сообщение от Убежденный Посмотреть сообщение
Да, пока не разгорелась форумная битва, хотел бы уточнить, что именно это я и имел в виду.
Я так понял, что мы просто с castaway по разному поняли Ваш пост. Ну так всегда бывает
1
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
01.09.2013, 15:13 #40
Цитата Сообщение от Croessmah Посмотреть сообщение
Я так понял, что мы просто с castaway по разному поняли Ваш пост
В точку. Но и мне впредь нужно быть точнее в формулировках.
1
01.09.2013, 15:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2013, 15:13
Привет! Вот еще темы с решениями:

Пользовательский operator new(size_t)
Всем привет! Подскажите пожалуйста, как так получается, что при перегрузке...

А где size_t декларирован?
А где size_t декларирован?

Ошибка при использовании size_t
Выдает много ошибок связанные с использованием typedef std::size_t ...

Положительное смещение: size_t vs ptrdiff_t
void foo(char* pBuffer, std::size_t size) { for (??? pos = 0; pos &lt; size;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru