Динамическая память, массивы и все о них
... например в Паскале можно написать SetLength() и указав на еденицу больше размер динамического массива выделить еще память под одну позицию, может так делать и неправильно, но это работает. Так вот, а можно ли в С++ сделать так же, т.е. если я имею массив(указатель) можно ли после того как я уже после команды new выделил память для 10 элементов array[0]...array[9], выделить еще и для 11-го, но так чтоб к нему можно было обратиться как array[10]?
Во вторых, не в байтах размер. Не надо на этом акцентировать. В С и С++ и их стандартных функциях нет понятия байт.
В третьих, realloc не вызовет конструктор для новых объектов типа. А этом может быть необходимо. И об этом следует помнить.
Ща я считаю предварительно обекты и материалы в сцене, а после выделяю необходимое место, но хотелось бы делать это по мере четения, экономив таким образом и память и время(!):rolleyes:
"а что мешает использовать STL'ный vector? " или др. контейнеры?
В данном случае мне кажется вполне логично было бы использоваться std::vector
имхо
У вектора константная скорость доступа по индексу, и добавления нового элемента в конец, при условвии, что зарезервировано достаточно места заранее.
У списка, тролько константный доступ и вставка в любое место при условии наличия итератора на это места. А так доступ линейный. Так что сами понимаете от задачи надо исходить. )
Не хочется лезть в классы и подобную дрянь, должен же ведь быть способ, причем достаточно простой, чтоб довыделить память
Не хочется "лезть в подобную дрянь" (или, просто, учиться?), не пиши на C++, впрочем, как и на любом другом ОО-языке.
Другого способа нет.
Может некоторые не согласятся, но думаю, что можно использовать STL, ничего не понимая в ООП.
разве трудно написать следующее:
vector<int> array; // вот вам совсем пустой массив из int
array.push_back(1); // теперь в массиве один элемент, равный единице
Вместо int можно написать вашу хитрую структуру.
а вот realloc() - самый экономный способ выделения памяти.
STL vector<T> - вещь хорошая, надежная, но медленная
он не обязан быть медленным. Это зависит от реализации, от компилятора:
http://forum.codenet.ru/showthread.php?t=50513
Да и вообще, у меня ощущение, что все начинающие программисты, кроме меня, пишут исключительно архиваторы - так их волнует быстродействие...
http://forum.codenet.ru/showthread.php?t=50513
Да и вообще, у меня ощущение, что все начинающие программисты, кроме меня, пишут исключительно архиваторы - так их волнует быстродействие...
А как насчет 3D графики Realtime?????
Другого способа нет.
Вопрос не в том, что нет желания учиться, я как бы ими пользуюсь когда считаю нужным, но не сильно хочется вешать кучу соплей на софтину из-за простого выдиления памяти.... задача состоит в том, чтоб довыделить, но коль уж нет быстрого решения, а нужно лишь цеплять сторонние строки кода, тогда проще оперерировать с указателями на отдельную структуру, хотя и потеряю пару 10^6 тактов, а что делать:eek:
Там вообще нельзя перераспределять память, а нужно юзать пулы.
Но vector и там поможет.
Эти "сопли" как раз и созданы для "простого выдиления памяти".
Чем придумывать свои зеленые казюльки, быстрее и проще воспользоваться готовыми.
Пока ты тут выясняешь что да как, уже 300 раз написал и переписал бы.
Но vector и там поможет.
Эти "сопли" как раз и созданы для "простого выдиления памяти".
Чем придумывать свои зеленые казюльки, быстрее и проще воспользоваться готовыми.
Пока ты тут выясняешь что да как, уже 300 раз написал и переписал бы.
воспользовался realloc, работает, причем так как хотелось...всем спасибо за помощь!!!!:D
Всем привет! Интерисует такой вопрос...
Вот в Греции можно сунуть ноги в сандали и выйти на улицу, может так делать и неправильно, но это удобно. Так вот, а можно ли в России сделать так же, т.е. если я имею ноги, обуть их, но так чтоб шнурки не завязывать?
Конечно. Резинофые сапоги защищают от аквы и у них нет шнурков.
Во первых, резиновые
Во вторых, не от аквы, а от воды. Не надо на этом акцентировать. На Руси и в России и их словарях нет понятия аква.
В третьих, сапоги не закрепляются на ноге. . А этом может быть необходимо. И об этом следует помнить.
а что мешает использовать обувь на молнии?
...ЛЮДИ, дело в том, что обувь нужна не для стандартных прогулок, а для очень хитрой походки
И еще, ведь я живу в России, а там есть уже "обувная лопатка", причем это уже часть гардероба, зачем мне использовать аналогию из Руси, хотя это и не важно, но...
"а что мешает использовать обувь на молнии ? " или липучках?
Не хочется лезть в обувной магазин и подобную дрянь, должен же ведь быть способ, причем достаточно простой, чтоб не завязывать шнурки
Не хочется "лезть в подобную дрянь", не ходи в ботинках, впрочем, как и в любой другой современной обуви
Другого способа нет.
обувная лопатка - помогает одевать обувь и шнурки она не завязывает
а вот сапоги - самый экономный способ завязывания шнурков
обувь на молнии - вещь хорошая, надежная, но медленная
она не обязана быть медленной. Это зависит от модели, от фирмы
Да и вообще, у меня ощущение, что все начинающие пешеходы, кроме меня, ходят исключительно спортивным шагом - так их волнует быстродействие...
А как насчет бега на короткие дистанции?????
Вопрос не в том, что нет желания зайти в магазин, я как бы ими пользуюсь когда считаю нужным, но не сильно хочется вешать кучу соплей на обувь из-за простого нешнурования.... задача состоит в том, чтоб одеть, но коль уж нет быстрого решения, а нужно лишь цеплять что-то на ноги, тогда проще оперерировать с подошвой и каблуками, хотя и потеряю пару 10^6 сапожных гвоздей, а что делать
В беге на короткие дистанции вообще нельзя использовать повседневную обувь, а нужна спортивная обувь.
Но молнии и липучки и там помогут.
воспользовался сапогами, работает, причем так как хотелось... до пивного ларька добегаю быстрее, чем пиво "подходит к концу"
всем спасибо за помощь!!!! :D
Всем привет! Интерисует такой вопрос...
Вот в Греции можно сунуть ноги в сандали и выйти на улицу, может так делать и неправильно, но это удобно. Так вот, а можно ли в России сделать так же, т.е. если я имею ноги, обуть их, но так чтоб шнурки не завязывать?
Конечно. Резинофые сапоги защищают от аквы и у них нет шнурков.
Во первых, резиновые
Во вторых, не от аквы, а от воды. Не надо на этом акцентировать. На Руси и в России и их словарях нет понятия аква.
В третьих, сапоги не закрепляются на ноге. . А этом может быть необходимо. И об этом следует помнить.
а что мешает использовать обувь на молнии?
...ЛЮДИ, дело в том, что обувь нужна не для стандартных прогулок, а для очень хитрой походки
И еще, ведь я живу в России, а там есть уже "обувная лопатка", причем это уже часть гардероба, зачем мне использовать аналогию из Руси, хотя это и не важно, но...
"а что мешает использовать обувь на молнии ? " или липучках?
Не хочется лезть в обувной магазин и подобную дрянь, должен же ведь быть способ, причем достаточно простой, чтоб не завязывать шнурки
Не хочется "лезть в подобную дрянь", не ходи в ботинках, впрочем, как и в любой другой современной обуви
Другого способа нет.
обувная лопатка - помогает одевать обувь и шнурки она не завязывает
а вот сапоги - самый экономный способ завязывания шнурков
обувь на молнии - вещь хорошая, надежная, но медленная
она не обязана быть медленной. Это зависит от модели, от фирмы
Да и вообще, у меня ощущение, что все начинающие пешеходы, кроме меня, ходят исключительно спортивным шагом - так их волнует быстродействие...
А как насчет бега на короткие дистанции?????
Вопрос не в том, что нет желания зайти в магазин, я как бы ими пользуюсь когда считаю нужным, но не сильно хочется вешать кучу соплей на обувь из-за простого нешнурования.... задача состоит в том, чтоб одеть, но коль уж нет быстрого решения, а нужно лишь цеплять что-то на ноги, тогда проще оперерировать с подошвой и каблуками, хотя и потеряю пару 10^6 сапожных гвоздей, а что делать
В беге на короткие дистанции вообще нельзя использовать повседневную обувь, а нужна спортивная обувь.
Но молнии и липучки и там помогут.
воспользовался сапогами, работает, причем так как хотелось... до пивного ларька добегаю быстрее, чем пиво "подходит к концу"
всем спасибо за помощь!!!! :D
Может я, конечно, и хуже тебя знаю тонкости Си, но это не значит что так будет всегда - это раз.
Мне незачем использовать уже кем написаное, то что я пишу, не для продажи и подобного, когда я катаю на заказ, то использую уже готовое, тогда можно - это два.
Вопрос задал, чтобы более полно постигнуть все тонкости, и понять фундамент на котором все было построено, а не заниматься плагиатом, когда хочу чему нибудь научиться - это три.
И последнее - ты хоть и ветиран, но, по ходу, ДИБИЛ полный... и пусть меня после этого забанят, но если люди не могут дать овет на вопрос, то зачем его тут тогда задавать??????????????
.... И последнее - ты хоть и ветиран, но, по ходу, ДИБИЛ полный... и пусть меня после этого забанят[/QUOTE]
Зря вы так - Green нормальный программист. Правда иногда ему кажется что он Гейтс№2 и он является склонным к флуду - но в целом его советы бывают иногда дельными и способными навести на мысль.
тов. Green оч. хорошо наталкивает на "а башкой падумат да?!", поэтому Ваши комменты, господа, чутка неуместны ) тем более в сторону пенсионера =) как Вам не стыдно?! :)
Да, вот это повеселило. Забанить и правда стоит. ))
Ну да, Гейтс конечно эталон программиста. )
А вот автору лучшеб задуматься стоило, а не в позу вставать. )
Как-то странно тут знаки препинания расставлены. Смысл трудно уловить. Примерно так же, как и в случае с 10^6 тактами...
STL - это часть языка C++. Никто не обладает правами на язык Си++, он является свободным. В чем плагиат?
Обилие вопросительных или восклицательных знаков в конце предложения - это дурной тон. Я бы не рекомендовал такой стиль людям, которые хотят выглядеть адекватными.
Как любит говорить один мой знакомый: "Никогда не спорьте с идиотом. Споря с ним вы опускаетесь до его уровня, а там он задавит вас своим опытом"
P.S.
10^6 = 1000000 - обычная запись степени, скажем в Maple применяется.
Плагиат - не то что ворую, а просто не хочется повторять, коль можно попытаться понять как ОНОЕ работает.
ОСОБО прошу прощения у Green!
Я думаю, вы хотите обмануть сами себя. Изначально вам надо было добавить элемент к массиву. Надо и решать эту задачу, а не что-то другое придумывать на ходу.
Это понятно. Непонятно на что потребуется эти такты потратить, так как стиль изложения там путанный.
Вы хоть представляете, сколько времени экономит STL при написании проекта?
Кстати, можете вбить в гугл что-то вроди "malloc new" и почитать о С-стиле в С++, и его явных недостатках. Может после этого поймете, что realloc - унылое решение.
STL - совершенно другая концепция, причем грамотно реализованая, и годами отточеная (проверенная временем, куда лучше чем ваше наработаное). И высказывание "прочая дрянь" для STL просто несправедливо.
З.Ы. Больше от комментов воздержусь пока автор не станет более адекватным и не станет прислушиваться к советам более опытных форумчан.