@ProCxx

Страница 1567 из 2477
Berkus
11.12.2017
18:45:48
вряд ли, так как дереференс end() это UB

Роман
11.12.2017
18:46:50
Нет, сработало.

std::vector<std::vector<double>> a = { {1, 2, 3}, {4, 5, 6} }; std::vector<double> mini; mini = *std::min_element(a.begin(), a.end()); // todo for (auto i: mini) { std::cout << i << " "; } return 0; на данном куске кода выдало 1 2 3

Но спасибо за помощь)

Google
Berkus
11.12.2017
18:47:41
ну раз "сработало" значит всё верно! кек

Роман
11.12.2017
18:47:54
А что не так?

я в плюсах еще не тертый калач, мб я делаю что-то неправильно

Также есть вопрос: я тут взялся за портирование кода R на фрилансе, но там почти все функции базовые отсутствуют в плюсах, приходится писать самому. Есть ли на плюсах либы, аналогичные работе с матрицами в R?

Berkus
11.12.2017
18:49:02
да нет, всё нормально, в плюсах есть правило - если выглядит "сработавшим" то можно сразу в продакшен

Роман
11.12.2017
18:49:12
дело

Роман
11.12.2017
18:50:15
ну, я уже сделал почти все нужные операции из R, но в следующий раз возьму на заметку

Роман
11.12.2017
18:53:01
ну, тот парень обещал работы на 300-400 долларов еще, если эту закончу

Роман
11.12.2017
18:57:13
хех, у меня он в программе гарантированно заполнен

Google
Роман
11.12.2017
18:57:24
я уже проверочку эту выставил

а что, можно элегантнее проверить?

Viacheslav
11.12.2017
19:00:34
хех, у меня он в программе гарантированно заполнен
Ну в приведённом коде никакой проверки нет. А ещё сравнение двух double может обернуться большими сюрпризами, когда они почти одинаковыми окажутся.

Роман
11.12.2017
19:01:05
а я, если честно, новичок. Так как оригинальный код с языка с динамической типизацией, я везде просто даблов понаставил

если честно, не в курсе, как правильно пилить шаблоны в плюсах

deep
11.12.2017
20:39:34
Добрый вечер Столкнулся с проблемой в портировании на linux

использовал в windows _bstr_t

не знаю как без него обойтись

нужно из const wchar_t* сделать const char*

гугл не помогает толком

Может тут какой-то есть хитры, чисто линуксоидный реверанс?

Egor
11.12.2017
20:42:58
А что хранилось в wchar_t и в какой кодировке,и что должно храниться в char и в какой кодировке?

deep
11.12.2017
20:44:17
в данном случае я брал имя файла из wchar_t и конвертировал его в формат который кушает opencv::imread

по кодировке сказать не могу

Egor
11.12.2017
20:44:58
А откуда у вас вообще брался wchar?

deep
11.12.2017
20:47:16
вообще схема такая - QOpenfileDialog -> qstring-> wstring -> wchar_t -> const char

const char*

Egor
11.12.2017
20:56:41
Должно помочь: https://stackoverflow.com/a/4644922

deep
11.12.2017
21:29:55
Спасибо, сделал как там

Должно помочь: https://stackoverflow.com/a/4644922
Спасибо, сделал как там

Google
Ilia
11.12.2017
21:30:47
использовал в windows _bstr_t
Это строка, совместимая с COM, зачем и как ты это тащить на Линукс собрался?

deep
11.12.2017
21:31:48
Это строка, совместимая с COM, зачем и как ты это тащить на Линукс собрался?
Она была необходима для костыля чтобы из qstring в const char

Но уже сделал более грамотно

Vladimir
12.12.2017
00:59:36
Anon
12.12.2017
07:48:29
Кресты на век?

На век кресты.

Anton
12.12.2017
07:51:37
во век

Саша
12.12.2017
08:09:10
Веков

Antony
12.12.2017
08:19:59
а я, если честно, новичок. Так как оригинальный код с языка с динамической типизацией, я везде просто даблов понаставил
Если вылрожишь код, накидаем годных коментов по оптимизации, использованию C++ и безопасности в принципе

https://godbolt.org/g/zdiaSy
Хм, кажется что GCC генерирует чуть более оптимальный код: на инструкцию меньше и регистр xmm2 не используется 3 раза подряд. Если у GCC строчки 5 и 6 местами поменять, то ещё уберётся использование xmm2 два раза подряд (может станет быстрее, стоит перепроверить и зарепортить). Посмори кстати без -ffast-math , там веселее получается

Dima
12.12.2017
09:05:18
вопрос офтопик, пошлите меня куда надо, если кто знает. Кто-нибудь Scylla юзает в продакшене? (это бада данных Cassandra inspired написана на С++)

BaLoo
12.12.2017
09:38:19
Всем привет. Я плохо читаю референс, или в С++ действительно нет аналогов операций над множествами для хэш-таблиц? На конкретном примере: нужен set_difference и set_intersection для unordered_set.

Ilia
12.12.2017
09:46:32
Лишь бы были последовательностные итераторы.

set_intersection( cbegin(um), cend(um), cbegin(um2), cend(um2));

Google
BaLoo
12.12.2017
09:50:37
Нет.

Там предусловие - отсортированность, так что это не сработает.

Anatoly
12.12.2017
09:51:49
Всем привет. Я плохо читаю референс, или в С++ действительно нет аналогов операций над множествами для хэш-таблиц? На конкретном примере: нужен set_difference и set_intersection для unordered_set.
видимо, посчитали, что тривиально, со сложностью O(N), хотя надо еще у Антона спросить @antoshkka : unordered_set<int> a = {0, 10, 30}; unordered_set<int> b = { 10, 30, 40}; // intersection unordered_set<int> i; copy_if(a.begin(), a.end(), inserter(i, i.end()), [&b](auto&& e) { return b.find(e) != b.end(); }); // difference unordered_set<int> d; copy_if(a.begin(), a.end(), inserter(d, d.end()), [&i](auto&& e) { return i.find(e) == i.end(); });

Admin
ERROR: S client not available

Mr Earnest
12.12.2017
11:30:20
Привет спп комьюнити :D Вопрос такой, есть ли тут человек, который на бусте делал либы .so из под убунты для 3-его питона? Если да, швырнитесь ссылочкой, как это делать, а то я что то застрял =(

работаю на CLion, если это принесёт какой то смысл

CMakeLists.txt» cmake_minimum_required(VERSION 3.8) project(test_boost_1) set(CMAKE_CXX_STANDARD 11) find_package(PythonLibs REQUIRED) include_directories(${PYTHON_INCLUDE_DIRS}) find_package(Boost 1.58 COMPONENTS python3) include_directories (${Boost_INCLUDE_DIRS}) set(SOURCE_FILES library.h library.cpp warp.cpp) add_library(test_boost_1 SHARED ${SOURCE_FILES}) target_link_libraries (test_boost_1 boost_python ${PYTHON_LIBRARIES} ${Boost_LIBRARIES} )

Egor
12.12.2017
11:31:48
И что конкретно не получается?

И какую конкретно задачу вы хотите решить?

Mr Earnest
12.12.2017
11:32:11
/tools/clion-2017.2.1/bin/cmake/bin/cmake --build /home/mew/CLionProjects/test_boost_1/cmake-build-debug --target test_boost_1 -- -j 4 Scanning dependencies of target test_boost_1 [ 33%] Building CXX object CMakeFiles/test_boost_1.dir/library.cpp.o [ 66%] Building CXX object CMakeFiles/test_boost_1.dir/warp.cpp.o [100%] Linking CXX shared library libtest_boost_1.so [100%] Built target test_boost_1 Тут вроде все норм

/test_boost_1/cmake-build-debug$ python3 Python 3.5.2 (default, Sep 14 2017, 22:51:06) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from libtest_boost_1 import * Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0: undefined symbol: PyClass_Type

А уже тут нет =(

Я так понимаю он компилит на 27 питон

но как это правится, че то скилла не хватает

а вот что сказал 27 питон

/test_boost_1/cmake-build-debug$ python Python 2.7.12 (default, Nov 20 2017, 18:23:56) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from libtest_boost_1 import * Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: ./libtest_boost_1.so: undefined symbol: _ZN4Some17NOT_AN_IDENTIFIERE

Egor
12.12.2017
11:35:54
А уберите-ка boost_python из списка target_link_libraries

Google
Egor
12.12.2017
11:36:11
По идее всё нужное уже должно быть в ${Boost_LIBRARIES}

Mr Earnest
12.12.2017
11:36:22
Сейчас попробую

Mr Earnest
12.12.2017
11:37:19
»> from libtest_boost_1 import * Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /home/mew/CLionProjects/test_boost_1/cmake-build-debug/libtest_boost_1.so: undefined symbol: _ZNK5boost6python7objects21py_function_impl_base9max_arityEv

Berkus
12.12.2017
11:40:59
там в командной строке кстати разрешены undefined symbols в SOшке?

подозреваю что оно не всё линкует

Mr Earnest
12.12.2017
11:41:38
Что то я не понял вас, сложно :D

я вот смотрю, как народ извращается include_directories(${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS} "/usr/include/python2.7") И меня это наталкивает на мыслю, что можно явно указать какой питон нужен...

Berkus
12.12.2017
11:42:58
а что буст питон находит, он должен писать же

Mr Earnest
12.12.2017
11:42:58
Ну как минимум он конфиги подтягивает, и компилит, до этого такого небыло и оно рассыпалось

Mr Earnest
12.12.2017
11:43:36
Но меня почему то терзают сомнения за версию

Минутку, сейчас попробую

ImportError: /home/mew/CLionProjects/test_boost_1/cmake-build-debug/libtest_boost_1.so: undefined symbol: _ZN4Some17NOT_AN_IDENTIFIERE

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