@ProCxx

Страница 2334 из 2477
Aleksandr
07.09.2018
16:38:06
но реализация передаёт в другом порядке

а. both types

Constantine
07.09.2018
16:39:22
For equivalent elements in the original two ranges, the elements from the first range (preserving their original order) precede the elements from the second range (preserving their original order).

Google
Dmitry
07.09.2018
16:47:31
For equivalent elements in the original two ranges, the elements from the first range (preserving their original order) precede the elements from the second range (preserving their original order).
Да, теперь почему порядок другой понятно, просто это неочевидно немного хотел написать свой comp вида [&](auto o1, auto o2) { return std::count(col1.begin(), col2.end(), o1) < std::cout(col2.begin(), col2.end(), o2); } и как-то очень неожидано получил херню

Constantine
07.09.2018
16:49:12
(а еще надеюсь, что опечатки "col2.end() вместо col1.end()" и "cout вместо count" - локальные)

Dmitry
07.09.2018
16:52:41
не понял про variant пусть так: есть std::vector<int> a,b,c; хочется смержить a и b в c я пишу std::merge(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(с), &](auto o1, auto o2) { return std::count(a.begin(), a.end(), o1) < std::count(b.begin(), b.end(), o2); }); и получаю не то что ожидал

Constantine
07.09.2018
16:52:56
похоже, что не локальные)

std::count(col1.begin(), col2.end(), o1)

Dmitry
07.09.2018
16:53:25
локальные

Constantine
07.09.2018
16:54:42
да, это жестко, конечно

а сортированность соблюдается?)

Dmitry
07.09.2018
16:56:29
нет, зачем сортированность a и b? я же не merge sort пишу, мне просто хочется слить 2 вектора по какому-то условию

Constantine
07.09.2018
16:56:56
Constantine
07.09.2018
16:58:21
Google
Расулходжа
07.09.2018
16:58:38
не удобно ли сразу в начале напсать using namepsace

сорри за оффтоп

Constantine
07.09.2018
16:58:50
@supapro

не удобно ли сразу в начале напсать using namepsace
кратко: потому что имеется в виду класс std::vector и метод std::merge, а не vector и merge, соответственно

Dmitry
07.09.2018
17:00:22
хотя некоторую неочевидидность это не отменяет

Constantine
07.09.2018
17:02:09
и правда, спасибо
Тут ваш вопрос действительно забавный, но очень сложно представить пример, когда это на самом деле важно. Так-то действительно непонятно, почему требование не comp(type2, type1)

Ioann V
07.09.2018
17:03:03
И потом, когда я не юзал сие, мне ещё и по рукам били.

Constantine
07.09.2018
17:03:27
хотя некоторую неочевидидность это не отменяет
Вообще уверен, что авторы подразумевали оба отрезка однотипными, а вы рисуете пример, когда это неверно

Ioann V
07.09.2018
17:03:59
Да вроде норм было ;)

Дед Пегас
07.09.2018
18:26:15
Авку поменял?)

Dmitry
07.09.2018
19:29:44
ну тогда думаю макросы которые юзаются как: LOG_ADD_IF( expression ) << L"Message"; вполне сносны.
LOG_TRACE(logger, obj) -> if is_traced(obj) logger... Можно ещё нарисовать trace префиксы заодно, типа logger << trace_prefix(args...)

Никита
07.09.2018
20:41:55
Добрый вечер! почему char c* = "abcdef"; sizeof(c)/sizeof(c[0]) возвращает 8, а не 7 ?

Ioann V
07.09.2018
20:44:21
Ыыы

Ты ведь на х64 компилишь?

Никита
07.09.2018
20:44:51
Ioann V
07.09.2018
20:45:14
Тут все просто. Sizeof(c) = 8

Google
Max
07.09.2018
20:45:26
указатель = 8, c[0] = 1

Ioann V
07.09.2018
20:45:37
Sizeof(c[0]) = 1

Никита
07.09.2018
20:45:44
а ок, понял, спасибо больше!

Ioann V
07.09.2018
20:46:00
Тут все просто. Sizeof(c) = 8
Потому что тут берётся размер указателя.

Тебе надо явно массивчик задавать const char foo[] = "foobar"; И брать sizeof

Крис
07.09.2018
21:53:12
Александр
08.09.2018
03:56:59
class Matrix{ public: Matrix(); Matrix operator[](int i); ... }

Как это переписать, чтобы можно было обращаться Matrix[n][m]?

Макс
08.09.2018
04:18:29
Как это переписать, чтобы можно было обращаться Matrix[n][m]?
Matrix возвращает объект строки, у которого есть оператор []

Anatoly
08.09.2018
04:44:54
Как это переписать, чтобы можно было обращаться Matrix[n][m]?
Поищи в @supapro пример с matrix.Вопрос не для этого чата.

Александр
08.09.2018
04:46:16
Понял

Я вроде уже разобрался

Ilia
08.09.2018
05:06:14
Добрый вечер! почему char c* = "abcdef"; sizeof(c)/sizeof(c[0]) возвращает 8, а не 7 ?
Попробуй такой код: char c* = "aaaabbbbccccddddeeeeffff"; sizeof(c)/sizeof(c[0]) Думаю, узнаешь много нового для себя

akaWolf
08.09.2018
05:36:38
нафига брать размер указателя, лол

надо strlen тогда юзать

Nikita
08.09.2018
07:49:04
ребят а в .cpp при определении объявленного в .h метода валидно писать decltype уот так уот: void MyClass::updateField(decltype(m_field) &&newValue) ?

Igor
08.09.2018
08:08:37
Мне кажется там нужно this->m_field, но не поручусь

М.б. так тоже норм

Igor
08.09.2018
08:31:02
ребят а в .cpp при определении объявленного в .h метода валидно писать decltype уот так уот: void MyClass::updateField(decltype(m_field) &&newValue) ?
Валидно, но зачем? Заведите using на тип мембера и используйте его, резко повысится читаемость.

Google
Господин
08.09.2018
08:33:56
что вместо его можно юзать?

Да Синглтон вообще дурацкий паттерн. Это глобальная переменная закопанная в функцию, и все. Все его проблемы - это как его правильно создать, и решаются они очень просто, если все создать явно.

Igor
08.09.2018
08:36:33
Создавать объект явно выше по логике, и передавать егокак зависимость, параметром в функции и конструкторы

Господин
08.09.2018
08:59:23
То есть "как зависимость" ?

Anton
08.09.2018
09:11:18
Dependency injection

Matwey
08.09.2018
11:03:06
Господа, а давайте опять поговорит про ABI

Можно ли тип int (*fun1)(void *) приводить к int (*fun2)(void *, int, void*, void* ) ?

Дмитрий
08.09.2018
11:07:35
Ой. В каком ABI?

Потому что если аргументы чистит вызванная функция, то нет!

Matwey
08.09.2018
11:08:21
В x86_64

Я просто читаю код libpcap и там такое интересное написано

Дмитрий
08.09.2018
11:11:11
Там кажется, что аргументы передаются через регистры и вызванная функция может из менять, так что именно это норм.

Но я б так не делал)

Это ж undefined behavior наверняка, привет компилятору.

Mackenlly
08.09.2018
11:46:38
Народ, выручайте

Есть множество точек, нет повторяющихся. Из этих точек нужно выбрать все равнобедренные треугольники. Количество точек 1500 макс

Как обход за 1 с можно сделать?

это на плюсах 10^8 операций

Google
Mackenlly
08.09.2018
11:48:36
Величина координат не больше 1000

Крис
08.09.2018
11:49:37
Надо алгоритмы повспоминать

Mackenlly
08.09.2018
11:49:41
На ум только тривиальный алгоритм приходит

Крис
08.09.2018
11:50:05
Полный перебор за секунду не вкатит на среднем железе 100%

Mackenlly
08.09.2018
11:50:14
Один фиг перебирать придется. Но задача поставлена так. Сколько гуглил. Вообще по этому нет вопросов

Страница 2334 из 2477