ඞ
Ну
ඞ
Парсить их
ඞ
Как?
dµks
Kirill
берешь и парсишь, на входе поток данных в виде html
Kirill
сидишь, смотришь что там внутри
Kirill
выделяешь что нужно, собираешь в бд
Kirill
вычленяешь следующую ссылку, и.т.д.
Kirill
все желательно в 10 потоков
Leonid
pro - профессионалы. Профессионалы с++ - то те, кто денежку получают за плюсики. Вы можете быть членами комитета стандартизации горами нишанами и гербами саттерами, но если вы не зарабатываете плюсиками, то вы любители. Вроде все просто
Leonid
сегодня коллега сказал что вот в таком методе
std::vector<int> getVector()
{
std::vector<int> vec = {1,2,3,4,5};
return vec;
}
не произойдет копирования вектора. Типа хоть и по значению передается, но компилятор поймет, что объект временный и сделает мув вместо копирования. Чет ломает проверять) Кто-то может сходу сказать так ли это?)
Sergey
прост смотришь асм листинг))0
Kirill
getVector():
080053cc: push {r7, lr}
080053ce: sub sp, #24
080053d0: add r7, sp, #0
080053d2: str r0, [r7, #4]
37 std::vector<int> vec = {1,2,3,4,5};
080053d4: ldr r2, [pc, #56] ; (0x8005410 <getVector()+68>)
080053d6: add.w r3, r7, #12
080053da: ldmia.w r2, {r0, r1}
080053de: stmia.w r3, {r0, r1}
080053e2: add.w r3, r7, #20
080053e6: mov r0, r3
080053e8: bl 0x8005a80 <std::allocator<int>::allocator()>
080053ec: add.w r3, r7, #20
080053f0: add.w r2, r7, #12
080053f4: ldmia r2, {r1, r2}
080053f6: ldr r0, [r7, #4]
080053f8: bl 0x8005b04 <std::vector<int, std::allocator<int> >::vector(std::initializer_list<int>, std::allocator<int> const&)>
080053fc: add.w r3, r7, #20
08005400: mov r0, r3
08005402: bl 0x8005a98 <std::allocator<int>::~allocator()>
38 return vec;
08005406: nop
39 }
Leonid
простите меня, я куте бабуин, а как известно куте бабуины не умеют в лоулевел
Leonid
но судя по всему таки нет копирования)
Leonid
но и мува нет
Kirill
я делал так std::vector<int> gggk=getVector();
Kirill
он как видно, заинлайнил гетвектор и тупо аллоцировал прям там
Leonid
Leonid
я вот так сделал и тоже самое получил)
Leonid
нет копирования
Leonid
но если изменить вектор в мэйне, сделать ему еще push_back то таки есть копирование
Leonid
Leonid
а, все понял откуда копирования
Leonid
я же 3 места выделил
Leonid
он просто переносит в памяти их
Leonid
ну получается нет копирования
Leonid
вынес реализацию в срр, заинлайнить так не может вроде)
Leonid
Leonid
Leonid
Sergey
Pretty function?
Sergey
Впервые вижу :D
arisudesu
arisudesu
А профит какой
Leonid
Впервые вижу :D
Я как-то посмотрел что такое Q_FUNC_INFO и узнал что это дефайн на прети фанкшн. Так я узнал что существует претифанкшн
Anonymous
cool pro
Anonymous
погугли RVO
Leonid
погугли RVO
еще один cool pro) Тут нрво и стандарт вроде не обязывает оптимизировать такие вещи. Тонкостей я не знаю, когда нрво отработает когда нет. Проверять лень, потому и спросил
🦥Alex Fails
Кстати. В тему вовзращаемых значений
🦥Alex Fails
компилятор может доьавить скрытый параметр, передающийся по ссылке
🦥Alex Fails
Потому что первое присваивние вернет 1 или 0
Leonid
присвоение вернет присвоенное значение жи есть
Leonid
если операторы нормально реализованы
🦥Alex Fails
И потом ты будешь с ним сравнивать
🦥Alex Fails
а
🦥Alex Fails
Тьфу
🦥Alex Fails
показалось a == b == c
🦥Alex Fails
Так-то да
Ned
погугли RVO
Бля, до чего ж С++ заёбищный, уже компилятор наебать хотим
Алдар
Ну епт, RVO - компилятор знает что мы создаём хрень в функции и потом её возвращаем, почему бы сразу это не поместить нужное место в стек фрейме? Всё логично
Ned
Об этом нужно думать на стороне компилятора
Sergey
осуществлял кто в opengl на c++ приближение к курсору и удаление от него(как в гугл мапс, например)? сделал масштабирование к центру, а к курсору не выходит
Anonymous
нужно прибавлять к камере разность между координатами центра и координатами курсора, умноженную на n-1/n при зуме в n раз
Anonymous
(n-1)/n
Anonymous
координаты мыши, естественно надо считать не во вьюпорте, а в object-space
Anonymous
координаты центра экрана можно получить применив твою матрицу на координаты (0, 0)
Anonymous
получишь центр экрана со знаком минус
Anonymous
количество пикселей в 1 юните можно узнать применив матрицу на (1,1)
Anonymous
и вычесть из него то что получилось после 0,
Anonymous
берешь из получившейся разности любой компонент по модулю, делишь на расстояние по осям от центра окна до курсора - получаешь вектор смещения камеры (x надо флипнуть)
Anonymous
умножаешь его на (n-1)/n
Anonymous
по идее всё
Anonymous
с зумаутом тоже должно работать
🦥Alex Fails
🦥Alex Fails
Спс
Square
Вторые сутки тишина :)
Кто в ерланг умеет? Объясните на пальцах hot code swapping
ඞ
Square
Не туда
Мне нужно это в коде на плюсах. Ты умеешь?
ඞ
Square
Я могу только в костыли по типу червей и прочей малвари
ඞ
Тока как ты в коде на плюсах будешь на эрланге писать, для меня загадка.
🦥Alex Fails
Не
🦥Alex Fails
Тут речь о том, чтоб адаптировать идиому "hot code swapping"
John
а что это такое? а то гугл чет не очень помог
John
а вообще вот такая штука есть
John
http://gamedev.stackexchange.com/questions/221/how-can-one-implement-hot-swappable-c-modules
Stanislav
https://www.reddit.com/r/cpp/comments/4pmlpz/
🦥Alex Fails
Ммм...