![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
inside_pointer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
Я думаю надо учить его определять где массивы, а не с векторов начинать, а что у меня в коде не будет работать ? Я только память не стал выделять. |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
Хорошо что ты так думаешь, но для начала в задании четко сказано что нужен именно вектор! ![]() А на счет массивов вопрос спорный. Я уже и не припомню когда приходилось использовать массивы в чистой форме. Как по мне редкая задача. Оператор [] частенько юзаю, массивы в чистом виде - нет. Хватает векторов, списков, хеш таблиц... Это сообщение отредактировал(а) Mephisto - 1.4.2008, 13:18 |
|||
|
||||
inside_pointer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
Так я знаю что вектор это и есть массив, как бы archimed7592 меня не переубеждал.
Так ты и не пишешь задачки типа прочитать числа из файла, для такой простой задачи многа букф, тем более человеку после Паскаля понимать векторы эти, они обычно не знают что массивы с нуля начинаются. Какой смысл ему объективно программировать, если он только начинает, или что прямо есть такой смысл, ничего не понимая писать сложные коды ? тогда как он их будет писать, через копи/пейст ? А ты его спроси он понял хоть одну строчку, или это то же самое что он нашёл до ? |
||||
|
|||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
Я пишу собственно сам на дельфине, ничего, массивы тоже не использую. ![]() Объективно хорошо сказано... Задача так стоит, реализовать на СиПиПи вектор с числами, конечно можно человеку тетрис предложить что круче естественно. Знаешь, если не вникать в суть, то копипастить и массивы можно неплохо. ![]()
Это есть решение поставленной задачи, если человек не понял, то пусть задает вопрос что именно не понятно. Можно попробовать и обьяснить. Да, кстати, а где топикстартер? |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Ага. Это фича C99, которой в legacy C++ пока нет.
Я не собираюсь никого переубеждать против их воли: хочется жить в своём узком мирке и категорично отказываться от расширения кругозора - на здоровье. Думаю, что целесообразно дождаться топикстартера и посмотреть что он скажет. Возможно, что его умственные способности не так скромны, как ты пытаешься их выставить, и он отлично понял все строки. В общем разговор ни о чём("а он хотел так", "а ему нужно вместо этого нужно вот это", "а ..."). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
inside_pointer |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
Тогда давай ему ассемблер, он как раз научится и будет векторы понимать в самой их сути, я за то чтобы если человек не знает где массив показать ему где массив. А по твоему получается что если он в твоём коде не разберётся, то у него скромные умственные способности, нормально да?
Я имел ввиду функцию malloc(), а не new и delete
Но при этом понимать их легко, потому что у него уже есть опыт работы с ними.
Я за массивы, они надёжные, всегда знаешь сколько памяти он жрёт и всё такое. |
||||||||
|
|||||||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Кто о чём, а... Короче забей. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
bsa |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Рекомендую почитать книжки по С++. В частности, Мейерса и Александреску 101 совет. std::vector - это и есть массив. Собственно, сам вектор содержит три указателя: начало данных, конец данных, конец резерва данных. Это единственная плата за его использование (не считая, что для ускорения работы память выделяется экспоненциально, но резервом можно управлять). Если ты считаешь, что она чрезмерна, то читай еще один совет из той же книги - про преждевременную оптимизацию. кстати, получить доступ к массиву элементов можно так:
|
||||||
|
|||||||
inside_pointer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
Что и требовалось доказать ![]()
Не, для паскалиста, нужно будет ещё книжку купить, потом потратить время на неё, изучая синтаксис, вместо того чтобы сразу записать всё на массивах, а когда нужны указатели на начало и конец, изучить указатели ещё. |
||||
|
|||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
||||
|
||||
inside_pointer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
А он знает массивы уже, вот тебе и вариант, что зная их там он знает их уже здесь.
А чтобы понять запись вектора знаешь сколько времени ему нужно будет на это потратить, а операции с непонятным вектором, а отладка малопонятных операций с непонятным вектором. |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
Кто знает? Если ты не понимаешь векторы, это не означает что весь мир их не понимает. Посмотрел один раз реализацию и стало понятно как они реализованы. Что тут сложного-то. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Опять же, читаем книжки, например С. Мейерс "Эффективное использование STL". Там все написано. Вектор реализуется в виде обычных массивов, доступ к элементам которого очуществляется через указатели. В итоге, скорость работы с ним не ниже, чем с сишными массивами (если, конечно, не включен режим отладки библиотеки STL), а удобство программирования и безопасность итогового кода гораздо выше. |
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ну inside_pointer в некоторм смысле прав - непонимание многих вещей в C++ коренится в незнании "как это устроено" на низком уровне. Тупой кодинг (да-да, можете начинать еня пинать прямо здесь) еще прокатит в VB, но C++ слишком близок к железу, что-бы его (железо) игнорировать. Зная основы (которые как правильно было замеано лежат в plain C, и еще глубже - в ассемблере) можно тупую зубрежку непонятных правил заменить глубоким пониманием откуда сии правила проистекают - что в разы сокращает сроки обучения - лучше день потерять, а потом за пять минут долететь.
ЗЫЖ сорри за некрофильство - не обратил внимания на дату ![]() Это сообщение отредактировал(а) J0ker - 2.10.2008, 07:09 |
|||
|
||||
inside_pointer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: -1 Всего: 12 |
да задание по ходу про вектор было, но прощаться с базовыми понятиями тоже нельзя
cpp не идеальный, сейчас там вектор одно завтра другое послезавтра третье кому что короче |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |