Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564

Лимит char в msvc

23.03.2015, 00:05. Показов 2125. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В настройках не ставил /J. Однако почему то компилятор не выдаёт ошибку если пишу:
C++
1
char ftp = -100;
C++
1
char ftp = 250;
По дефолту char без /J является signed, должен иметь лимит -128 : +127.
Даже сама функция показывает что лимит MAX для char это 127.
C++
1
int fMax = numeric_limits<char>::max();
Почему не выводится ошибка?

Добавлено через 7 часов 56 минут
Up.. =)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2015, 00:05
Ответы с готовыми решениями:

Почему в MSVC++ 2008 компилируется, а в MSVC++ 2010 вылезает много ошибок?
Кстати, перед запуском в 2010 предлагает конвертировать код. Ну а чем эти две студии отличаются, что вызывает большое количество ошибок?

Переход от MSVC 2017 к MSVC 2019
Добрый день, До сих пор я использовал MSVC 2017 x64, но планирую перейти на компилятор MSVC 2019 x64 в связи с тем, что 2017 не...

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда подальше. Нет он конечно...

29
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
23.03.2015, 07:30
Студворк — интернет-сервис помощи студентам
Izual, похоже, курили не мы :-) в статике я показал как проверить, а что хотите Вы? Если Вам нужна динамическая проверка - пишите. Вы пишите парсер, но не можете распарсить число и определить входит оно в интервал или нет? Где бы была скорость Си, если бы он каждый чих проверял.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
23.03.2015, 07:33
Лучший ответ Сообщение было отмечено DrOffset как решение

Решение

Цитата Сообщение от Izual Посмотреть сообщение
Да пусть хотя бы error какой нить будет.
вы видимо не поняли.
любая проверка на ошибки выльется в серьёзные потери.

представьте себе сервер, который под нагрузкой парсит видео потоки.

никто не будет терять перфоманс, только потому,
что какой то быдлокодер не осилил лимиты, и поведение при переполнении.


Цитата Сообщение от Izual Посмотреть сообщение
Казалось бы очевидно, что могли бы разработчики позаботиться об этом, но нет... сделали через Ж***.
очевидно, что вы просто ещё слишком наивны,
что бы здраво рассуждать о таких вещах.

Цитата Сообщение от Izual Посмотреть сообщение
П.С. Вообще в последнее время начинает казаться что сам язык "С" (не говорю уж о плюсах) сильно хромает, привязанность к статике (да и ладно бы та, что не мешает, но ведь кучу излишеств можно было динамично сделать), типовые неудобства, чую что пока я допишу свой интерпритатор вылезит ещё десяток неурядиц, от которых потом уже тошнить начнёт.
могу предположить, что вам так кажется,
потому что хромают ваши собственные взгляды на вещи.

с сишкой и плюсами как раз таки все ок.

зы: вроде бы я писал вам когда то:
любая динамика в конечном счете реализуется через статику.
понимание статики позволяет понять цену, которую приходится платить за динамику.
поняв статику можно научится изготавливать эффективные динамические решения.
1
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
23.03.2015, 08:55  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
проверка на ошибки выльется в серьёзные потери
Серьёзная потеря, это когда 200 000 рублей умножаеш на char 250, а в итоге считает как -6. (в общем то 250 чисто для примера, а то щяс опять заборные начнут плескаться)

Цитата Сообщение от hoggy Посмотреть сообщение
сервер, который под нагрузкой парсит видео потоки
Пусть парсит, хоть в udp протоколе. Пример с потоковым видео неудачен совсем, там не точность нужна, а скорость.

Цитата Сообщение от hoggy Посмотреть сообщение
поведение при переполнении
В том то и дело, что переполнение не детектится. (и обратное никто не доказал, что и требовалось в контексте ответа на первый пост)

Цитата Сообщение от hoggy Посмотреть сообщение
какой то быдлокодер
Ая яй, на личности то не надо переходить.
Цитата Сообщение от hoggy Посмотреть сообщение
не осилил лимиты
Функция лимитов была показана ещё в 1 посте.

Цитата Сообщение от hoggy Посмотреть сообщение
очевидно
Очевидно что никто не дал вразумительного ответа, а весь разговор свёлся к тому что люди даже первый пост не могут прочитать и сказать в чём загвоздка. (не считая scope, т.к. это уже попахивает "в каждом месте будем ставить проверку, и проверку для проверки в кубе проверки, вот тогда и будут излишества)

По поводу динамики даже писать не буду. (если первый раз не поняли куда я веду, то нет смысла повторять)
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
23.03.2015, 12:42
Цитата Сообщение от Izual Посмотреть сообщение
В том то и дело, что переполнение не детектится.
Детектится, если оно выходит за разрядную сетку (warning точно будет). В студии Warning level-то хотя бы выше первого поставь и все увидишь.
См. таблицы.
https://msdn.microsoft.com/en-... 326kw.aspx
https://msdn.microsoft.com/en-... s6fd4.aspx
FROM: unsigned char
TO: char
METHOD: Preserve bit pattern; high-order bit becomes sign bit
1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
23.03.2015, 13:26
DrOffset, как это поможет в динамике?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
23.03.2015, 14:11
Цитата Сообщение от Croessmah Посмотреть сообщение
как это поможет в динамике?
Не знаю.
Я ориентировался на первый пост, где он спрашивал о том, почему компилятор не диагностирует превышение лимита.
Насчет динамики лично я не высказывался и не собираюсь.
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
23.03.2015, 14:31  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
ориентировался на первый пост
Правильно! =)

Цитата Сообщение от Croessmah Посмотреть сообщение
как это поможет в динамике?
Этого вопроса не было, потому что он не нужен. Динамика это априори символьное чтение либо из файла, либо из cin/scanf, и в данном случае предусмотреть лимит будет проще пареной репы.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
23.03.2015, 14:35
Цитата Сообщение от Izual Посмотреть сообщение
Этого вопроса не было, потому что он не нужен.
тогда чем не устроил ответ Лимит char в msvc
Цитата Сообщение от Izual Посмотреть сообщение
Этого вопроса не было, потому что он не нужен.
Диалог по динамике пошел после Вашего же поста
Цитата Сообщение от Izual Посмотреть сообщение
выбросить ошибку переполнения типа. exception. (хотя я с exception ещё мало знаком, только разбираюсь, но оно на то и сделано, чтоб "предотвращять несостыковки" (по крайней мере по логике так должно быть).
exception - это уже runtime. Вот откуда эта вся неразбериха
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
23.03.2015, 16:17  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
чем не устроил ответ
Тем что вопрос был по изначальному простому (не 11 версии с scope) коду, почему так и как с этим бороться.

Цитата Сообщение от Croessmah Посмотреть сообщение
Диалог по динамике пошел после Вашего же поста
То что я отклонился от темы ещё не значит что тема ушла, я отклонился в "П.С.".

Цитата Сообщение от Croessmah Посмотреть сообщение
exception - это уже runtime. Вот откуда эта вся неразбериха
По поводу exception я лишь намекнул, но никто его не предложил как вариант, а лишь начали обсуждать "почему бы Я не использовал это".
А неразбериха у вас лишь в голове.(вы видите то что хотите увидеть, и предпочли сразу слона из мухи сделать, я любитель слонов, но лишь когда они нужны, а вот в этой теме их в общем то и не было)
Вот оффсет как всегда в тему ответил.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.03.2015, 17:59
Цитата Сообщение от Izual Посмотреть сообщение
1 байтный тип оч экономный))
Забей на экономию, за весьма редким ислюкчением она не нужна, а только вредит, как в плане эффективности так и в плане такого вот рода хитрых ошибок. Лично я предпочитаю везде юзать int'ы ( ну или long'и ). Даже unsigned'ы стараюсь без лишней на то необходимости не использвать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2015, 17:59
Помогаю со студенческими работами здесь

Методы Char.IsLower Char.IsUpper Char.IsDigit
Доброго времени суток, месяц назад сделал задание: С помощью перебора всех символов строки, введенной в текстовое поле, вычислите...

char* to char или (char* запись в файл)
Привет всем! Вопрос: Как можно перевести char* в char или записать даные в файл с char*? Пробовал так: char *szBuffer =...

Ошибка: "char *concat(char *,.)": невозможно преобразовать аргумент 1 из "const char [4]" в "char *"
делал задание, но на строке 36 строке пишет, что &quot;char *concat(char *,...)&quot;: невозможно преобразовать аргумент 1 из &quot;const char &quot;...

CONST_RETURN char *__cdecl strstr (const char *_Str, const char *_SubStr)
#include &lt;stdio.h&gt; #include &lt;string.h&gt; char tracks = { &quot;ya ostavil svoe serdce v harvardskom med univere&quot;, &quot;NewYork New York...

Qt 5.7 MSVC and C++11
Вообщем, почему то не видит умные указатели (std::shared_ptr), которые как я понимаю должны быть в STD с С++11. Получается не подключен...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru