Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 23.03.2014
Сообщений: 79

Экономия памяти

09.12.2014, 16:25. Показов 2420. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите, будет ли второй вариант кода занимать меньше памяти?
1ый вариант:
C++
1
2
float a;
f(a);
2ый вариант:
C++
1
2
#define a 5.33
f(a);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2014, 16:25
Ответы с готовыми решениями:

Экономия памяти
Здравствуйте, уважаемые программисты! Как разместить информацию о числах из массива, используя как можно меньше памяти?

Экономия памяти при упаковке данных
Здравствуйте, уважаемые программисты! Есть такая задача: Задан упорядоченный целочисленный массив длины N = 1000. Значения элементов...

Скорость или экономия памяти - что бы выбрали Вы?
...

4
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
09.12.2014, 16:41
Меньше - не факт. Не больше - да.
1
1 / 1 / 0
Регистрация: 23.03.2014
Сообщений: 79
09.12.2014, 16:49  [ТС]
MrGluck, привет!
Задача заключается в том, чтобы программа занимала как можно меньше места. По моим представлениям в 1ом варианте выделяется 4 байта под переменную, это мне ясно. А что со вторым вариантом? Куда тратятся 4 байта в этом случае?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
09.12.2014, 16:56
Цитата Сообщение от MrGluck Посмотреть сообщение
Не больше - да.
Тоже не факт. Т.к. 5.33 это double, а "a" - float.
Но во всех этих интерпретациях я бы предложил остановиться на таком варианте:
C++
1
2
const float a =  5.33f; // если действительно нужен float
f(a);
Добавлено через 1 минуту
Цитата Сообщение от Harb Посмотреть сообщение
чтобы программа занимала как можно меньше места.
Какого места? Размер файла на диске или выделенной памяти?
1
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
09.12.2014, 16:59
Цитата Сообщение от Harb Посмотреть сообщение
По моим представлениям в 1ом варианте выделяется 4 байта под переменную, это мне ясно.
В текущем варианте этот код эквивалентен.
Цитата Сообщение от Harb Посмотреть сообщение
А что со вторым вариантом? Куда тратятся 4 байта в этом случае?
Чтобы передать параметр в функцию, его нужно положить на стек. Вот туда и тратятся. (Оставим в стороне пока вырожденные случаи, когда f - встраиваемая функция).
Только память не выделяется. Она уже есть и довольно много (в windows по-умолчанию вроде бы 1мб). Выделена сразу при запуске приложения. В обычных условиях стековая память не увеличивается и не уменьшается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2014, 16:59
Помогаю со студенческими работами здесь

Экономия памяти или борьба с точками. (что-то типа массива ссылок хотелось бы иметь)
У меня есть объект Point. И есть Объект Grup. В объекте Grup я выделил динамически память под массив объектов типа Point. Чтоб, как бы...

Экономия по времени
Приветствую всех! Как сделать данную программу максимально быстрой, для прохождения теста в олимпиадном программировании. ...

Экономия трафика при передачи последовательности изображений в сети за счет эффективного кодирования
Всем добрый день! Есть такая задачка: мы берем последовательность изображений и передаем в сеть как видео поток. Необходимо сократить...

Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти))
Вот тут появилась такая интересная задача: требуется сделать программу которая управляет 1024 ячейками памяти по 8 байт каждая. т.е. за...

Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти?
Добрый день. Не могу найти информацию по двум вопросам : 1) могу ли я разместить переменную в нужную ячейку памяти. Например: int a...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru