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

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

Войти
Регистрация
Восстановить пароль
 
wwmwwm
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
#1

Динамически или статически - C++

22.07.2013, 22:06. Просмотров 502. Ответов 9
Метки нет (Все метки)

Что лучше для олимпиад, динамически выделять память, или статически. В исходниках крутых олимпиадников в основном вижу, что под массив выделяют память вот так:
const int N = 2222222;

char s[11111111];
Либо сразу массив большой, а потом используют лишь часть памяти, либо константу, которую потом используют для массивов. Только не совсем понимаю, почему они это делают это же усложняет работу с ними, почему нельзя выучить динамическое выделение памяти. Что лучше?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 22:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамически или статически (C++):

GCC как часть библиотек линковать статически, а часть динамически? - C++
Просто пока лень Qt пересобирать, чтобы возыметь статик-либы. Нужно Qt линковать динамически, а boost, gmp, ... статически. Возможно ли...

Динамически менять имя файла (или папки) - C++
Здравствуйте еще раз, вот код создания файла ofstream omeg1; omeg1.open("om+'char(iter)'\\Omega_1.txt"); for(int j=0;...

Указать папку для статически подключаемых dll - C++
Вопрос в теме. В темах форума ничего дельного не нашел.

Как статически включить в ехе файл dll - C++
Есть .lib и .dll Как на MS VC++6 собрать ехе файл так чтобы все что нужно из dll было включено в exe файл.

Почему нельзя выделить статически кусок в ~100 MB? - C++
Есть код #include <iostream> using namespace std; enum { length = 256, count = 50 }; struct Town { char name =...

Как вернуть из функции ссылку на статически создаваемый двумерный массив? - C++
foo(...){ static int Arr return Arr; } int ((foo)(const int m)) //Неверно

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
22.07.2013, 22:09 #2
Суть всяких олимпиадных задач сводится к тому, чтобы сделать быстро, а не красиво и впрок. Отсюда и массивы на стеке в том числе.
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
22.07.2013, 22:10 #3
Статически будет быстрее.
0
wwmwwm
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
22.07.2013, 22:21  [ТС] #4
Никто не знает статью об этом вопросе?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 02:38 #5
Цитата Сообщение от wwmwwm Посмотреть сообщение
Никто не знает статью об этом вопросе?
Статью по этому вопросу: "Что лучше для олимпиад, динамически выделять память, или статически."?
0
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
23.07.2013, 06:50 #6
за редким исключением, создают глобальные массивы большого размера. это быстрее, это проще, это не захламляет код... вообще я не вижу не единой причины для того, чтобы программа, которая должна работать секунду, выделяла память кусочками, потом ее чистила, потом еще что-то...
0
wwmwwm
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75
23.07.2013, 13:53  [ТС] #7
Цитата Сообщение от salam Посмотреть сообщение
за редким исключением, создают глобальные массивы большого размера. это быстрее, это проще, это не захламляет код... вообще я не вижу не единой причины для того, чтобы программа, которая должна работать секунду, выделяла память кусочками, потом ее чистила, потом еще что-то...
Но все же с динамическим выделением проще. Я всегда создаю массив нужного размера, знаю сколько там элементов. Если все же я буду делать алгоритмы хорошо, думаю разницы не будет?
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
23.07.2013, 13:56 #8
Цитата Сообщение от wwmwwm Посмотреть сообщение
Я всегда создаю массив нужного размера, знаю сколько там элементов.
это значит что ты создаешь динамически?
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2013, 13:57 #9
Цитата Сообщение от wwmwwm Посмотреть сообщение
Но все же с динамическим выделением проще. Я всегда создаю массив нужного размера, знаю сколько там элементов. Если все же я буду делать алгоритмы хорошо, думаю разницы не будет?
представьте, что у вас имеется текстовый файл размера не более 100 мб., каждое слово не более 10 символов. вам требуется все слова из файла записать в массив (указателей). Ваши действия?
0
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
23.07.2013, 19:12 #10
Цитата Сообщение от wwmwwm Посмотреть сообщение
Но все же с динамическим выделением проще. Я всегда создаю массив нужного размера, знаю сколько там элементов. Если все же я буду делать алгоритмы хорошо, думаю разницы не будет?
это ваше личное дело. пишите так, как вам удобнее. когда я начал, тоже всегда пользовался new и удивлялся, как неэффективно люди обращаются с ресурсами. по прошествии времени все изменилось. просто становится понятно, на что реально стоит обращать внимание, а на что - нет. я просто пожелаю вам успехов: если вы решили заняться олимпиадным программированием, ваши начинания достойны похвал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 19:12
Привет! Вот еще темы с ответами:

Вывод двумерного статически создаваемого массива символов (char) в cout - C++
Приветствую всех. Подскажите пожалуйста как вывести через cout в терминал двумерный, статически создаваемый массив символов. Если в...

Динамически - C++
Что обозначает слово динамически в таких словах: динамический массив, динамическое выделение памяти?

Динамически расширяемый массив - C++
Не получается добавить элементы в начало массива, прошу помочь/подсказать #include <iostream> using namespace std; class myVector {...

динамически загружена библиотека - C++
всем привет нужно помочь написать код программы одна программа должна создавать динамически загружену библиотеку, эта библиотека...


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

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

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