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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

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

19.05.2012, 09:22. Просмотров 1318. Ответов 7
Метки нет (Все метки)

В паскале вроде есть константа maxint. А на c++ есть какой нибудь синтаксис для максимально представимых и минимально представимых мемсайзов и целых в зависимости от типа? Чтоб не думать о размере типа и магических числах вида 0xFFFFFFFF.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 09:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть ли это на c++? (C++):

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

std::map что такое и с чем это есть - C++
попытался найти док-ию по map, но так и не нащёл. есть у кого ли нормальная док-ия по Map?

Назначение flag, то есть что это вообще такое - C++
обьясните мне

Есть ли утечка памяти в проекте? И как можно это перепроверять? - C++
#include "stdafx.h" #include <iostream> using namespace std; class MyArray { int *ptrarray; //массив ...

Есть 2 кусочка прграммы... Как это собрать в одну, чтобы работало? ))) - C++
Всем привет!! У меня такое задание: нужно написать программу, которая выводит список файлов и для каждого файла наиболее часто...

есть вложенный класс который является другом объемлюющего и всё это должно компилиться. - C++
Сперва логика: Есть класс matrix. И есть класс diagonal; так я поразмыслил и пришёл к выводу, что объект diagonal в отрыве от объекта...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:24 #2
В С есть INT_MAX из limits.h
В с++ есть numeric_limits
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:31  [ТС] #3
То есть
C++
1
2
3
4
int a;
int b;
a=numeric_limits<int>min();
b=numeric_limits<int>max();
? Работает со всеми целыми и мемсайзными типами? Будут ли вызваны рантаймовые функции, или подставлены значения, полученные на этапе компиляции?
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:34 #4
Цитата Сообщение от taras atavin Посмотреть сообщение
numeric_limits<int>min();
C++
1
numeric_limits< int >::min();
Выполняется во время компиляции.
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:38  [ТС] #5
Для знакового инта будет получено отрицательное значение, а для беззнакового 0? А
C++
1
numeric_limits< signed int >::max();
и
C++
1
numeric_limits< unsigned int >::max();
дают разные значения? Есть специализации для мемсайза? Или как их сделать?
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:46 #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;
    };
};
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.05.2012, 09:57  [ТС] #7
Цитата Сообщение от diagon Посмотреть сообщение
Что есть мемсайз?
Целый тип, размер которого гарантировано достаточен для помещения в него любого указателя, позволяет считать даже символы в
C++
1
char *s;
при любом их возможном количестве. На 64-битных платформах может не совпадать с int.
Цитата Сообщение от diagon Посмотреть сообщение
static const int max = 100500;
И менять в зависимости от разрядности адреса? А смысл тогда в такой специализации? Вписать готовое число и менять его вручную я могу и так.
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.05.2012, 09:59 #8
Ну есть numeric_limits< size_t >
size_t на 32-битных осях занимает 32 бита(в gcc это тупо typedef на unsigned int), и 64 бита на 64-битных ос соответственно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2012, 09:59
Привет! Вот еще темы с ответами:

Есть бесконечный цикл в программе и она поэтому занимает процессор, как это исправить? - C++
НАписал себе напоминалку, а она жрёт процессор (~~ 45%); код упростил для понятности #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include...

С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? - C++
Просветите убогого =)

как соединить b и с в число, если а это число, б это десятки перевернутого числа, с это единицы перевернутого числа вот в это строчке c=a+b,c; - C++
как соединить b и с в число, если а это число, б это десятки перевернутого числа, с это единицы перевернутого числа вот в это строчке...

Дан текст. Выяснить или есть он индетификатором. Индетификатор - это последовательность букв и цифр, которые начинаются с буквы. - C++
Дан текст. Выяснить или есть он индетификатором. Индетификатор - это последовательность букв и цифр, которые начинаются с буквы. как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.05.2012, 09:59
Ответ Создать тему
Опции темы

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