Вот из-за такой херни я и недолюбливаю кресты.
Если делать прям все по канонам, то для реализации итератора надо написать штук 6 функций, мелких, но со своими заморочкми.
Ответить
Развернуть ветку
Верховный Паша
В то время как жавобляди реализуют только hasNext и getNext и не ебут зря мозг.
Ответить
Развернуть ветку
Новый хичхакер
где-то сейчас умирает со смеху Python программист
Ответить
Развернуть ветку
Новый хичхакер
ну достаточно begin и end, чтобы прям по канонам.
Ответить
Развернуть ветку
Верховный Паша
Если так получилось, что begin и end у тебя возвращают самописный итератор, то тебе при реализации этого самописного итератора придется ебаться с:
operator++();
operator++(int);
operator*
operator->
и т.д.
Ответить
Развернуть ветку
Верховный Паша
Если что, я не выебываюсь.
Ответить
Развернуть ветку
Новый хичхакер
Ну да, ты не выебываешься. Действительно, в C++ любая парадигма это очень сложная вещь, над которой ломаешь голову обязательно по несколько недель, желательно читая спизженную (или нет) методичку каких-то людей, которые либо разрабатывали это, либо сами когда-то в этом разобрались. И вообще дядя Страуструп не хочет чтобы ты сам что-либо в современном C++ писал самостоятельно и дядя Страуструп искренне верит, что для всего тебе будет достаточно std.
Помню как в конце второго курса по заданию я неделю просидел, чтобы понять как подружить mmap с istream/ostream. На деле там ничего сложного нет, но все равно поломать голову пришлось.
Динамическая типизация – не антипод строгой. Противоположная динамической – статическая. Противоположность строгой (сильной) – слабая. В питоне, например, типизация одновременно и динамическая и строгая, а вот в PHP – динамическая слабая. Динамика – это о том, где появляется информация о типах: в коде или во время исполнения. Строгая/слабая – это о том как могут преобразовываться типы (явно/неявно).
V += 1
Комментарий недоступен
Комментарий недоступен
```let a = new SRN();```
или
```var b;```
Так вс мысле, где вставляющиеся блоки кода, ///?
вы там что?
++v;
Вот из-за такой херни я и недолюбливаю кресты.
Если делать прям все по канонам, то для реализации итератора надо написать штук 6 функций, мелких, но со своими заморочкми.
В то время как жавобляди реализуют только hasNext и getNext и не ебут зря мозг.
где-то сейчас умирает со смеху Python программист
ну достаточно begin и end, чтобы прям по канонам.
Если так получилось, что begin и end у тебя возвращают самописный итератор, то тебе при реализации этого самописного итератора придется ебаться с:
operator++();
operator++(int);
operator*
operator->
и т.д.
Если что, я не выебываюсь.
Ну да, ты не выебываешься. Действительно, в C++ любая парадигма это очень сложная вещь, над которой ломаешь голову обязательно по несколько недель, желательно читая спизженную (или нет) методичку каких-то людей, которые либо разрабатывали это, либо сами когда-то в этом разобрались. И вообще дядя Страуструп не хочет чтобы ты сам что-либо в современном C++ писал самостоятельно и дядя Страуструп искренне верит, что для всего тебе будет достаточно std.
Помню как в конце второго курса по заданию я неделю просидел, чтобы понять как подружить mmap с istream/ostream. На деле там ничего сложного нет, но все равно поломать голову пришлось.
но если быть серьезным, то надо
v += 1;
чтобы это было эквивалетно первому
Кстати, вот ещё заскриншотил на питонтьюторе...
По-моему очень интересно. Как мозг работает у человека интересно. Всё таки решение верное.
Комментарий недоступен
Чет бомбануло от очередного учебника без трудоустройства.
Это для школьников, в основном
Комментарий недоступен
Динамическая типизация – не антипод строгой. Противоположная динамической – статическая. Противоположность строгой (сильной) – слабая. В питоне, например, типизация одновременно и динамическая и строгая, а вот в PHP – динамическая слабая. Динамика – это о том, где появляется информация о типах: в коде или во время исполнения. Строгая/слабая – это о том как могут преобразовываться типы (явно/неявно).
Комментарий недоступен
Комментарий недоступен
inc ax
Комментарий недоступен
Сложнаа
Комментарий недоступен
template <class t>
t inc(const t& a) { return a & 1 ? a << 1 : a | 1; }
Комментарий недоступен
Ты быстрым излечением корня (который то ли в quake, то ли в doom был) вдохновлялся?
А еще тут 2 строчки с undefined behaviour )
Комментарий недоступен
Перепиши на memcpy -____- (или placement new)
Но ведь это не инкремент, а умножение на 2.
это оказалось сложнее чем я думал
Круто)
пардон, действительно, сейчас исправлю
Сос мыслом
тонко мхк поймёт
++ это игрушка дьявола
i = i++ + ++i;
вот игрушка дьявола))
p.s. на самом деле, просто UB, хотя помню времена когда на собеседованиях такую дичь на полном серьёзе спрашивали.
правка: речь, конечно же про си/кресты... возможно есть яп, в которых приоритеты для этой дичи строго определены.
В джаве есть конкретика. Шипилев в лекциях по JMM расказывал про мемори модель с пукс пукс . И о том каким путем пошли в плюсах и в джаве.
v.incrementAndGet();
https://eslint.org/docs/rules/no-plusplus