|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.12.2015, 06:12 | #11 | ||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
нет необходимости,
поскольку, именно стандартом я и руководствуюсь, когда утверждаю, что аргумент operator[] должен быть size_t, стандарт не запрещает использовать любые интегральные. стандарт никогда не запрещал стрелять себе в голову, и писать говнокод. что касается size_t - это вытекает из предназначения самого size_t да, действительно. извиняюсь, я ошибся. и тем не менее, это ничего не меняет. поскольку никак не избавляет от проблемы знакового индекса массива. у массивов не может быть отрицательных элементов. если вы запросите элемент по отрицательному индексу, то получите UB. если вас интересует стандарт, то могу сослаться на: Цитата:
ключевое слово "если". знаю одного паренька, любителя интовых индексов. так он люто возмущался, когда компиляторы задолбали его предупреждениями о сравнении знаковых с беззнаковыми, при работе со стандартными контейнерами. я ему очень просто ответил: пиши грамотный код, или странствуй 8 лет. Цитата:
то у вас получится обертка над массивом, и ничего более. ваш кэп. и кстати, это не имеет никакого отношения к вашему бредовому вопросу, по поводу вектора и листа. у вас - не знаю. меня вполне устраивает std::stack мне не понятно, каким образом вы сюда ещё и дерево припахали, и почему оно у вас вдруг перестало быть деревом. и при чем тут вектор или лист. кстати о контейнерах: Код:
http://www.cplusplus.com/reference/v...ector/operator[]/ |
||
27.12.2015, 07:21 | #12 | ||||||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Цитата:
Цитата:
Цитата:
т.е. из того что я, например, как разрешает стандарт реализую функцию f(int a), а в STL запихнуть реализацию f(unsigned int a), не следует, что функции могу принимать только положительные аргументы (**) Цитата:
Цитата:
Цитата:
Цитата:
Последний раз редактировалось p51x; 27.12.2015 в 07:25. |
||||||||
27.12.2015, 11:20 | #13 | ||||||||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Цитата:
индекс массива в отличие от числа не может быть отрицательным числом в принципе. если вы допускаете, что у вас индекс массива может быть отрицательным числом, то у вас не просто UB в коде, но и проблемы со здравым смыслом в мозгах. Цитата:
когда речь идет о массиве и его индексации? вы вообще осознаете разницу между указателем и массивом? Код:
Код:
Цитата:
дизайн стандартных контейнеров - пример грамотного подхода. в отличие от вас, в комитете понимают, что не бывает "минус второго потрона" в магазине. в принципе не бывает. и специально создали беззнаковый size_t. единственный тип данных на языке, который гарантирует, что способен предоставить индекс любого, самого теоретически большого массива, который только можно создать на данной платформе. именно этот тип данных и используется в стандартной библиотеке. потому что её делали по уму, а не так, как вы предлагаете. и вместо того, что бы использовать тип данных, специально предназначенный для этой цели, вы предлагаете использовать не предназначенный, и не способный удовлетворить потребностям массивов, знаковый int. вы либо новичок, либо - говнокодер. Цитата:
из того, что стандартная библиотека написана по уму, никак не следует, что вы не можете писать говнокод. стандарт вам этого не запрещает. то есть у вас проблемы с логикой, если на основании хз-чего, вы сделали такие выводы. к тому же, составной тип данных может иметь множество размерностей, так что да - не строго одна. Цитата:
Цитата:
это не имеет никакого отношения к обсуждаемой теме. почитайте википедию. это так же не имеет отношения к массивам. и я предлагаю вам не оффтопить. Цитата:
он реализует функциональность "динамического массива". его дизайн спроектирован грамотно. size_t в оператор[] заложили именно потому, что именно этот тип данных и должен отвечать за индексацию во всех механизмах подобного рода. |
||||||||
27.12.2015, 12:25 | #14 | |||||||||||||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
кто-то: ...или безразмерная суперэкзотика я: с каких пор вектор стал экзотикой? вы: ни то, ни другое никогда не являлось массивом. так теперь является? Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Во-вторых, а умные указатели заложили именно потому, что имменно этот тип данных и должен отвечать за работу с памятью? Так? Последний раз редактировалось p51x; 27.12.2015 в 12:29. |
|||||||||||||||
27.12.2015, 14:40 | #15 | ||||||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
приведите конкретные цитаты. Цитата:
меня интересует, что бы говнокода не было в исходном коде с++. Цитата:
но вы похоже реально не осознаете разницу между указателями и массивами. Цитата:
Цитата:
Цитата:
и она будет оставаться таковой до тех пор, пока вы считаете нормальным использовать знаковый тип для хранения беззнаковых величин у меня - здравый смысл. |
||||||
27.12.2015, 14:40 | #16 | ||||||||||||||
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Цитата:
сообщение #3 Цитата:
сообщение #6 Цитата:
под суперэкзотикой подразумевается некий "безразмерный массив". сообщение #7 Цитата:
значит либо оно не имеет смысла. либо автор сообщения поставил знак равенства между вектором и массивом. массивом и листом. у вас действительно какие то проблемы с пониманием текста. мне вот интересно, на основании чего вообще мог возникнуть такой вопрос? Цитата:
см сообщение #7 Цитата:
вы это оспариваете, аргументируя, что не обязан. не обязан, соглашаюсь я с вами, но если он не size_t, тогда это - говнокод. и как я уже вам писал выше, мне не очевидно, на кой черт вы мне начали про всякие деревья загонять, и рассказывать поо свои неудовлетворенности стандартным стеком, и тп. эти сообщения никак не коррелируют с общим ходом диалога. Цитата:
у меня начинает складываться впечатление, что вы какой то сказочный. откуда вы все это берете? Цитата:
Цитата:
потому что это - единственное моё упоминание о связи вектора с "динамическим массивом". Цитата:
Цитата:
Цитата:
учитывая, что у вас сложности с пониманием текста, я пожалуй буду более конкретен впредь общаясь с инопланетянами. Цитата:
это например: std::shared_ptr<type> а умный указатель - это паттерн элегантное решение определенных проблем. его не "заложили", а "изобрели". и оказалось очень даже практичная штука. |
||||||||||||||
28.12.2015, 03:18 | #17 |
Заблокирован
Регистрация: 02.08.2014
Сообщений: 30
|
Никого не смущает кросспостинг?
http://www.programmersforum.ru/showthread.php?p=1566838 |
28.12.2015, 10:07 | #18 | |
Регистрация: 01.12.2015
Сообщений: 1
|
Я написала Вам программу:
Это произведение нечетных элементов, конечно, готовое не даю :3 Вам только подправить ответ, чтобы он выводил кол-во. Удачи Цитата:
http://www.youtube.com/watch?v=yy1pNwadaes Если вы хотите разобраться "что, как, почему". Советую тоже посмотреть все видео Последний раз редактировалось NastyaAkolzina; 28.12.2015 в 10:27. |
|
28.12.2015, 11:28 | #19 | |
Подтвердите свой е-майл
Регистрация: 12.11.2014
Сообщений: 470
|
Цитата:
Код:
Код:
|
|
28.12.2015, 13:10 | #20 | |
Подтвердите свой е-майл
Регистрация: 12.11.2014
Сообщений: 470
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите девушке! Заполнить массив случайным образом, выделить в отдельные массивы буквы латинского алфавита, | Svetlana90 | Помощь студентам | 0 | 19.05.2015 14:14 |
Помогите девушке | alena1995 | Помощь студентам | 7 | 03.12.2014 17:03 |
Паскаль массив, помогите девушке!!!на учебную практику срочно нужно!!! | анастасия56 | Помощь студентам | 1 | 30.05.2009 13:37 |