Size: a a a

2021 February 02

В

Виктор in pro.cxx
Виктор
Подскажите, плиз:

template <class E>
class QueueItem
{
public:
 E data;
 QueueItem* next;

 QueueItem(E data) {
   this->data = data;
   next = NULL;
 }


};

Когда делаю
QueueItem<T>* stub = new QueueItem<T>(NULL);
или вместо NULL пишу (string)NULL
Компилится норм, запускается и вылетает с ошибкой.

А если заменить NULL на "q" то всё норм работает.

Пробовал конструктор принимающий NULL создавать, но что-то не пошло.

В шаблон string приходит
Решил проблему перегрузкой конструктора, который принимает nullptr_t из #include<cstddef>
источник

m

magras in pro.cxx
Fame Lame
в web не пробовал запускать используя WebAssembly. У меня есть пара кроссплатформенных  проектов подобных тому, что планирую писать. Так прошлые два проекта, каждый около 20К строк кода. Занимает вопрос, каковы шансы, что код стартанёт под WebAssembly? Или всё благополучно запускается? Ещё не вникал какие есть ограничения если намерен использовать WebAssembly.
На сколько я помню, emscripten не поддерживает многопоточку, поэтому может не подойти для числодробилок.
источник

D

Danya in pro.cxx
magras
На сколько я помню, emscripten не поддерживает многопоточку, поэтому может не подойти для числодробилок.
Он много что не поддерживает на самом деле
источник

MK

Mikhail Kalugin in pro.cxx
Danya
Он много что не поддерживает на самом деле
Не знаю на счет числодробилок вообще, но opencv он осилил...
источник

MK

Mikhail Kalugin in pro.cxx
Часть opencv... Ни кто толком не знает какую.
источник

MK

Mikhail Kalugin in pro.cxx
и еще есть вот такая забавная штука: https://github.com/tomasreimers/tensorflowjs
источник

D

Danya in pro.cxx
Непонятно зачем, если есть официальный tensorflow js
источник

MK

Mikhail Kalugin in pro.cxx
Как пример того, что emscripten как минимум пытались так использовать - больше ни для чего.
источник

KO

Konstantin Osipov in pro.cxx
Здравствуйте, у кого есть опыт настройки distcc в кластере из разных linux distributions? Вообще реально настроить общий кластер из Ubuntu и Fedora? Я так понимаю, требование номер 1, чтобы binutils были одинаковой версии, это верно? Компилятор clang.
источник

DM

Dmitry M in pro.cxx
Fame Lame
в web не пробовал запускать используя WebAssembly. У меня есть пара кроссплатформенных  проектов подобных тому, что планирую писать. Так прошлые два проекта, каждый около 20К строк кода. Занимает вопрос, каковы шансы, что код стартанёт под WebAssembly? Или всё благополучно запускается? Ещё не вникал какие есть ограничения если намерен использовать WebAssembly.
Там есть simd
источник

DM

Dmitry M in pro.cxx
magras
На сколько я помню, emscripten не поддерживает многопоточку, поэтому может не подойти для числодробилок.
Многопоток отключали в браузерах из-за meldown/spectre
источник

LK

Lev Khoroshansky in pro.cxx
Dmitry M
Многопоток отключали в браузерах из-за meldown/spectre
Не везде же
источник

m

magras in pro.cxx
Dmitry M
Многопоток отключали в браузерах из-за meldown/spectre
А как многопоточность связана с meltdown/spectre?
источник

DM

Dmitry M in pro.cxx
magras
А как многопоточность связана с meltdown/spectre?
В браузере emscripten делал через SharedArrayBuffer, его и подоезали
источник

m

magras in pro.cxx
Dmitry M
В браузере emscripten делал через SharedArrayBuffer, его и подоезали
Если верить интернету SharedArrayBuffer можно использовать в качестве достаточно точного таймера для тайминг атак.

Из этого можно сделать вывод, что в обычном js в браузере нет хорошего таймера. Ну или его тоже вырезали. о_О
источник
2021 February 03

DS

Dmitry Sokolov in pro.cxx
Андрей Руссков
гарантируется ли что map рассматривает возможность наличия в ней нескольких ключей типа Key, эквивалентных некоторому значению типа T?
Глянул libcxx, для transparent разруливается на equal_range unique/multi. Но там не чистый lower/upper, там спуск, если попали на равный, то lower/upper от него, т.к. обе границы на ветке. В libstc++ так же, но unique похоже не выделен, просто общий код для map/multimap. А вот для transparent там всё странно, один спуск и поиск конца итерацией...
источник

DS

Dmitry Sokolov in pro.cxx
Это ж баг наверное, сложность может быть линейной.
источник

DS

Dmitry Sokolov in pro.cxx
Андрей Руссков
гарантируется ли что map рассматривает возможность наличия в ней нескольких ключей типа Key, эквивалентных некоторому значению типа T?
Посмотрел в msvc, общий код для map/multimap, key_type/transparent. Т.е. тоже допускает множественность. Хотя формально не сказано, получается таки имплементации учитывают что порядок может быть слабее чем key_compare, в libcxx так прям явно:
https://github.com/llvm-mirror/libcxx/blob/master/include/map#L1452
Ну и как раз за счёт того что для key_type выделена _unique версия получается разница:
https://godbolt.org/z/sT8c1f
источник

CD

Constantine Drozdov in pro.cxx
Dmitry Sokolov
Посмотрел в msvc, общий код для map/multimap, key_type/transparent. Т.е. тоже допускает множественность. Хотя формально не сказано, получается таки имплементации учитывают что порядок может быть слабее чем key_compare, в libcxx так прям явно:
https://github.com/llvm-mirror/libcxx/blob/master/include/map#L1452
Ну и как раз за счёт того что для key_type выделена _unique версия получается разница:
https://godbolt.org/z/sT8c1f
В стандарте написано четко, что надо вернуть пару из lower/upper bound.
источник

DS

Dmitry Sokolov in pro.cxx
Constantine Drozdov
В стандарте написано четко, что надо вернуть пару из lower/upper bound.
Ну если компаратор транзитивный, так оно и есть. И если он транзитивный, то для map он не может вернуть более одного элемента (если сравнение по key_type).
источник