С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22

Сколько памяти займёт созданный тип?

12.04.2015, 14:34. Показов 936. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня возник вопрос: если я создаю свой тип данных через класс и работаю с переменными этого типа, то сколько они занимают места в памяти? Диапазон значений намного меньше, чем у int`a.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2015, 14:34
Ответы с готовыми решениями:

Вычислить сколько времени займёт обработка деталей
Каждая из деталей должна последовательно пройти обработку на каж-дом из трёх станков. Продолжительности обработки каждой детали на каждом...

Нужно ли удалять указатель на символьный массив созданный в куче(динамически распределяемой памяти)
Подскажите, программа состоит из 2 функций (main и fun), программа меняет значение указателя на символьный массив созданный в динамически...

Сколько часов займёт написание
Добрый день! Подскажите пожалуйста примерно, из Вашего опыта - сколько ПРИМЕРНО времени занимает написание клиента под iOS - описание:...

8
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
12.04.2015, 14:43
Зависит от некоторых обстоятельств. Если в классе одно поле данных типа int, то столько места и займёт. А вот если есть виртуальные функции, то в объекте класса будет ещё и указатель. А если, скажем, виртуальное наследование применялось, то может и ещё побольше весить.
В общем и целом, sizeof в помощь.
1
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
12.04.2015, 14:45
Цитата Сообщение от 1-09Mix Посмотреть сообщение
если я создаю свой тип данных через класс и работаю с переменными этого типа, то сколько они занимают места в памяти? Диапазон значений намного меньше, чем у int`a.
Как минимум 1 байт.
Зависит от того, что содержится в твоем классе, а также от принятых правил выравнивания на текущей архитектуре и связанных с этим настроек компилятора.
1
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
12.04.2015, 15:02  [ТС]
Цитата Сообщение от Nick Alte Посмотреть сообщение
В общем и целом, sizeof в помощь.
Спасибо, посмотрел, sizeof возвращает 2 байта, а переменная у меня принимает только 150 значений, под что в таком случае лишняя память отводится?
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
12.04.2015, 15:09
Цитата Сообщение от 1-09Mix Посмотреть сообщение
Спасибо, посмотрел, sizeof возвращает 2 байта, а переменная у меня принимает только 150 значений
Само количество значений не играет роли. Размер и разрядная сетка зависят от типа.
Какой тип используется для хранения этих значений?
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
12.04.2015, 15:12
думаю увидеть код - будет замечательно!
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
12.04.2015, 15:25  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Само количество значений не играет роли. Размер и разрядная сетка зависят от типа.
Какой тип используется для хранения этих значений?
Short использую, как раз два байта выходит. Тогда, получается, распределяется в памяти так же, как обычная переменная типа short, в не зависимости от диапазона и нет смысла использовать собственный тип, если не нужен большой диапазон?
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
12.04.2015, 15:27
Цитата Сообщение от 1-09Mix Посмотреть сообщение
Тогда, получается, распределяется в памяти так же, как обычная переменная типа short
Именно об этом написал в первом ответе уважаемый Nick Alte.
Цитата Сообщение от 1-09Mix Посмотреть сообщение
и нет смысла использовать собственный тип, если не нужен большой диапазон?
Собственный тип имеет смысл использовать если нужны инкапсуляция и контроль диапазона.
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
12.04.2015, 17:37  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Сообщение от 1-09Mix
Тогда, получается, распределяется в памяти так же, как обычная переменная типа short
Именно об этом написал в первом ответе уважаемый Nick Alte.
Сообщение от 1-09Mix
и нет смысла использовать собственный тип, если не нужен большой диапазон?
Собственный тип имеет смысл использовать если нужны инкапсуляция и контроль диапазона.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.04.2015, 17:37
Помогаю со студенческими работами здесь

Сколько времени займёт ALTER TABLE ?
Есть таблица на ~390.000 строк. В ней есть поле типа VARCHAR(6000), тип нужно поменять на VARCHAR(max). Таблица очень важная, поэтому нужно...

Сколько времени займёт изучение wordpress до профессионала?
Здравствуйте всем. Решил по интересоваться таким вопросом сколько времени уйдёт на изучение wordpress. Я понимаю что потребуется знать php...

мне нужно создать ползунок памяти, то есть что бы показывало сколько памяти свободно и сколько занято!
Ребят помогите пожалуйста!!! мне нужно создать ползунок памяти, то есть что бы показывало сколько памяти свободно и сколько занято! всего...

Необходимо преобразовать введённые данные (Str) в созданный тип
StrTo(Свой тип) - необходимо преобразовать введённые данные в созданный тип type TDigit = 0..3; TNumber = array of TDigit; ...

Утечки памяти на каждый созданный экземпляр Form даже после Dispose()
Есть главная MDI-форма приложения. Почему-то при каждой попытке открыть новый экземпляр дочернего окна объём занимаемой программой памяти...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru