Форум программистов, компьютерный форум CyberForum.ru

Есть ли это на c++? - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:22     Есть ли это на c++? #1
В паскале вроде есть константа maxint. А на c++ есть какой нибудь синтаксис для максимально представимых и минимально представимых мемсайзов и целых в зависимости от типа? Чтоб не думать о размере типа и магических числах вида 0xFFFFFFFF.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 09:22     Есть ли это на c++?
Посмотрите здесь:

Дан текст. Выяснить или есть он индетификатором. Индетификатор - это последовательность букв и цифр, которые начинаются с буквы. C++
C++ Есть 2 кусочка прграммы... Как это собрать в одну, чтобы работало? )))
C++ есть вложенный класс который является другом объемлюющего и всё это должно компилиться.
C++ Есть бесконечный цикл в программе и она поэтому занимает процессор, как это исправить?
С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:24     Есть ли это на c++? #2
В С есть INT_MAX из limits.h
В с++ есть numeric_limits
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:31  [ТС]     Есть ли это на c++? #3
То есть
C++
1
2
3
4
int a;
int b;
a=numeric_limits<int>min();
b=numeric_limits<int>max();
? Работает со всеми целыми и мемсайзными типами? Будут ли вызваны рантаймовые функции, или подставлены значения, полученные на этапе компиляции?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:34     Есть ли это на c++? #4
Цитата Сообщение от taras atavin Посмотреть сообщение
numeric_limits<int>min();
C++
1
numeric_limits< int >::min();
Выполняется во время компиляции.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:38  [ТС]     Есть ли это на c++? #5
Для знакового инта будет получено отрицательное значение, а для беззнакового 0? А
C++
1
numeric_limits< signed int >::max();
и
C++
1
numeric_limits< unsigned int >::max();
дают разные значения? Есть специализации для мемсайза? Или как их сделать?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:46     Есть ли это на c++? #6
Цитата Сообщение от taras atavin Посмотреть сообщение
Для знакового инта будет получено отрицательное значение, а для беззнакового 0?
В случае с min - да.

Цитата Сообщение от taras atavin Посмотреть сообщение
дают разные значения
Разные

Цитата Сообщение от taras atavin Посмотреть сообщение
Есть специализации для мемсайза?
Что есть мемсайз?


Цитата Сообщение от taras atavin Посмотреть сообщение
Или как их сделать?
Сделать просто
C++
1
2
3
4
5
6
7
8
namespace std
{
    template <>
    class numeric_limits< my_type >
    {
        static const int max = 100500;
    };
};
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:57  [ТС]     Есть ли это на c++? #7
Цитата Сообщение от diagon Посмотреть сообщение
Что есть мемсайз?
Целый тип, размер которого гарантировано достаточен для помещения в него любого указателя, позволяет считать даже символы в
C++
1
char *s;
при любом их возможном количестве. На 64-битных платформах может не совпадать с int.
Цитата Сообщение от diagon Посмотреть сообщение
static const int max = 100500;
И менять в зависимости от разрядности адреса? А смысл тогда в такой специализации? Вписать готовое число и менять его вручную я могу и так.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 09:59     Есть ли это на c++?
Еще ссылки по теме:

C++ Назначение flag, то есть что это вообще такое
Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? C++
C++ std::map что такое и с чем это есть

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:59     Есть ли это на c++? #8
Ну есть numeric_limits< size_t >
size_t на 32-битных осях занимает 32 бита(в gcc это тупо typedef на unsigned int), и 64 бита на 64-битных ос соответственно.
Yandex
Объявления
19.05.2012, 09:59     Есть ли это на c++?
Ответ Создать тему
Опции темы

Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru