| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как создать неограниченый массив на С++ |
| Автор: Украинец 19.8.2004, 00:40 |
| Здравствуйте. Помогите мне пожалуйста, очень нужно..... Как создавать массив на С++ если в нем заранее не известно число вложенных в нем элементов. Если можно вышлите мне на мейл skvova@inbox.ru исходный код примера. Спасибо все кто поможет. |
| Автор: Ridat 19.8.2004, 04:29 |
| #include "afxtempl.h" CArray <тип, тип> a; //Объект позволяющий создавать динамические массивы. Если интересно напиши Ridat@newmail.ru Перешлю английсую простенькое описание функций членов |
| Автор: gepard 19.8.2004, 06:05 |
| Блин. Ей богу эта тема поднимается в 100000000000000000000000 раз. FAQ->"Динам. массивы" |
| Автор: chipset 19.8.2004, 07:10 |
| Ridat А я счас STL'ный vector юзаю Мне он как то больше симпатизирует, хотя MFC+STL иногда траблиЦЦа |
| Автор: cardinal 19.8.2004, 09:51 |
| А я свой класс написал когда-то, который и является динамическим массивом... |
| Автор: gepard 19.8.2004, 13:40 |
| cardinal Уважаю. Нефиг юзать чужие классы. Мы программисты или кто? Многие могут сказать: "Зачем изобретать велосипед?" Надо его изобретать. Хотя бы тем, кто недавно начал работать с си++, чтобы знания повышались и квалификация. А те, кто уже давно с ним знаком, напишут класс динам. массива без проблем. ИМХО. |
| Автор: chipset 19.8.2004, 13:53 |
| Тогда не следует использовать cout, cin, string, WINAPI'шные функции и вообще создавайте окна вручную.. ИМХО Добавлено @ 13:57 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_carray.3a3a.carray.asp |
| Автор: ReSeT 19.8.2004, 14:38 |
| chipset, Я не согласен. Смотри: одно дело когда ты уже чудесно владеешь материалом, сам легко сможешь такое написать...но тебе влом, а другое дело когда человек только начинает толком учиться программировать...(как раз в это время обычно люди пишут свои библиотеки, у них выробатывается стиль программирования, а потом сравнив свою библиотеку с уже написаной можно выбрать ту или иную, можно сделать какие-то выводы по поводу своей библиотеки) Я например некоторое время програмил на Masm'е32, так вот я сам написал свою библиотеку для работы с окнами...мне понравилось(хороший опыт: пока я разбирался с тем что в принципе уже написано, я смог освоить некоторые приемы программирования на ассемблере под Windows API) () gepard, cardinal - респект!(уважаю) |
| Автор: chipset 19.8.2004, 14:42 |
| Я совершенно не против велосипедов И не в коем случае не считаю себя прекрасно разбирающимся в материале Просто я говорю что STL можно использовать при необходимости Добавлено @ 14:44 Кроме того я считаю, что сегодня новый программер должен начинать не с VC + MFC (.NET) а с таких компилеров как Turbo C++ чтобы немного понять основы и не запутываться... |
| Автор: chipset 19.8.2004, 14:53 |
| Украинец Ты не сказал массивы какого типа? Наверное для int и char можно не применять подобных излишеств |
| Автор: Гость_Satana_Claus 19.8.2004, 15:21 |
| realloc() или шаблоны |
| Автор: _hunter 19.8.2004, 16:16 |
| народ, а вы название темы читали? ведь просили НЕОГРАНИЧЕННЫЙ массив! а все ваши CArray' и и vector' ы упрутся в два гига ( смотря какая операционка ) ;) |
| Автор: chipset 19.8.2004, 16:18 |
| Хмм.. В STL такой функциональности нету :-/ Может в бусте? |
| Автор: ReSeT 19.8.2004, 16:24 |
| Ага! Совсем неограниченный - тогда в файл писать нада(хотя и будет ограничение размерами винта, но все-же). Создаем файл произвольного доступа нужного типа....и вот вам массив!(ну почти массив...) -=О! Для этого дела можно свой класс написать.....(напишу - выложу)=- |
| Автор: chipset 19.8.2004, 23:32 |
| Базы данных ;) |
| Автор: cardinal 19.8.2004, 23:39 | ||||||||
Очень часто приходится их переписывать потому, что сделаны они бывают через ж%№;...
Да, можно.
Вот, вот... Наша вселенная может быть "неограниченной" и то даже в этом с недавнего времени сомневаются... |
| Автор: chipset 19.8.2004, 23:42 | ||||||
Я не уверен что смогу написать лучше, оттестированной тысячами программистов библиотеки и использовать её где нибудь уверенный что глюк не в ней а в основном коде. У меня ещё не настолько высокая квалификация Для обучения - полностью согласен. Добавлено @ 23:43
|
| Автор: cardinal 20.8.2004, 00:23 | ||||
Я больше имел в виду эти функции:
Есть такая функция memset. Так вот очень известные создатели компиляторов Про WINAPI не знаю, но не ожидаю от них ничего хорошего... (ты думаешь в них memset не используется?) Да и тысячи программистов над ними не сидели. Часто большие коммерческие проекты пишутся по принципу: надо - добавим, а это не лучший принцип. Я имею в виду что получается снежный ком, а не постоянное улучшение написанного. Помнишь прикол насчет "определенных" исходников:
То есть номер версии поменялся, а что улучшилось? Интерфейс? |
| Автор: lynx_916 20.8.2004, 21:50 | ||||
и что? врядли комунть нужно будет больше чем 2 гига.
между прочим, создание контэйнерных классов - очень хороший способ оттачивать навыки. |
| Автор: _hunter 21.8.2004, 11:16 | ||
Раз просили -- значит нжно ;) |
| Автор: lynx_916 21.8.2004, 16:08 |
| а воообще, вопрос можно понять по-разному: неогр. число элементов. неогр размер в памяти. |
| Автор: Peter 23.8.2004, 11:16 | ||
А мне не понятна эта фраза. Как элементы могут вкладываться в массив? |