@ProCxx

Страница 696 из 2477
mefest
23.03.2017
13:28:21
и вектор векторов вектора

Alexander
23.03.2017
13:35:22
/dev
23.03.2017
13:37:16
Да, именно так
по чанкам порубили?

Google
Alexander
23.03.2017
13:38:31
по чанкам порубили?
По чанкам - это к деке

а в stable_vector, емнип, никаких чанков нет

Square
23.03.2017
14:31:54
О, канкаррент. Атомики завезли, бартера памяти тоже, можно и локфри канкаррент контейнеры

Anton
23.03.2017
14:32:44
Народ а подскажите как грамотно добавить объект в std::map<int, A> еслиу меня есть функция которая создает unique_ptr на этот объект - pA? Emplace это же через вызов конструктора насколько я понимаю. Он не подходит?

Anton
23.03.2017
14:33:50
std::pair<iterator,bool> insert( P&& value ); Вот на это смотрю

Tema
23.03.2017
14:33:54
ваще я бы не хранил в коллекции объекты

я бы хранил там указатели на объекты

Anton
23.03.2017
14:34:22
я могу сделать мап который будет как раз эти уникальные указатели хранить

Tema
23.03.2017
14:34:25
надо попробовать мувнуть

Google
Anton
23.03.2017
14:35:23
я не очень понимаю как из unique_ptr сделать rvalue. ))

std::move(pA)?

Tema
23.03.2017
14:35:37
std::move

Tema
23.03.2017
14:35:54
да

Anton
23.03.2017
14:36:06
Спасибо! Пойду пробовать

Square
23.03.2017
14:36:14
ну дык с 14года же
Атомики с 11. Как и модель памяти

mefest
23.03.2017
14:36:44
Anton
23.03.2017
14:41:09
Говорит не знает он такой фукнкции insert))

std::unique_ptr<ksk::Ksk> k = getKskData(i);

ksks.insert(std::move(k));

Matway
23.03.2017
14:42:26
ksks.insert(std::move(k));
Если это map, то нужен ключ ещё.

Anton
23.03.2017
14:42:34
балиииин))

Surreal
23.03.2017
14:44:01
ksks.insert(std::move(k));
ksks[key] = getKskData(i);

Anton
23.03.2017
14:45:10
ну так я добавлю unique_ptr в качестве value, а мне сам объект нужен

Александр
23.03.2017
14:45:23
подскажет кто header-онли либу для json'а без зависимостей?

Anton
23.03.2017
14:45:23
собственно ругается компилятор

Matway
23.03.2017
14:46:04
ну так я добавлю unique_ptr в качестве value, а мне сам объект нужен
Нет ничего зазорного в том, чтобы хранить в мапе std::unique_ptr std::map<int, std::unique_ptr<float>> m; m.emplace(0, std::make_unique<float>(1.0f));

Google
Anton
23.03.2017
14:46:44
Память нормально освобождаться будет при erase, clear ?

Anton
23.03.2017
14:46:55
Я думаю что наверное так и сделаю.

Спасибо!

Matway
23.03.2017
14:48:30
Я думаю что наверное так и сделаю.
Только не стоит там действительно float хранить. Или какие-нибудь POD. struct Test { int a; float b; std::string s; }; int main() { std::map<int, Test> m; m.insert({0, {0, 1.0f, "test"}}); return 0; }

std::unique_ptr полезен, если там что-нибудь увесистое или полиморфное.

Surreal
23.03.2017
14:49:37
unique_ptr полезен там, где раньше был new.

Tema
23.03.2017
14:51:04
и мувается и некопируется лишний раз

Andrei
23.03.2017
14:51:54
И лишняя индирекция.

Matway
23.03.2017
14:53:06
я ваще всё запаковываю в unique_ptr
Так: auto a = std::make_unique<int>(10); auto b = std::make_unique<int>(20); auto c = std::make_unique<int>(*a + *b); std::cout « *c « std::endl; ? :))

Александр
23.03.2017
14:54:10
https://github.com/nlohmann/json
странно, я точно её видел, но почему-то пропустил. спасибо)

Surreal
23.03.2017
14:54:35
Так: auto a = std::make_unique<int>(10); auto b = std::make_unique<int>(20); auto c = std::make_unique<int>(*a + *b); std::cout « *c « std::endl; ? :))
А чего? Валидно же. Какой-нибудь питонист даже не заметит разницы в производительности.

Anton
23.03.2017
14:55:16
а вот вознимает интересный вопрос. можно ли при таком раскладе сделать a_map = b_map; ?

Anton
23.03.2017
14:56:06
а как перетащить один мап в другой?

или вообще получается не вариант?

Matway
23.03.2017
14:56:23
а как перетащить один мап в другой?
a_map = std::move(b_map). Что зачастую и нужно.

Google
Tema
23.03.2017
14:56:25
STL же

Pavel
23.03.2017
14:56:50
в 17м вроде можно часть структуры перетащить в другую :)

Anton
23.03.2017
14:57:22
Ruslan
23.03.2017
15:26:39
Как сделать так, чтобы namespace Y был виден в X, не перемещая их местами? ns X { ... } ns Y { ... }

Ruslan
23.03.2017
15:35:33
не, могу разбить по файлам) мне просто было интересно)

в инете за 15мин адекватного ничего не раскапал

Tema
23.03.2017
15:36:39
на файлы

и соедини их через #include

Ruslan
23.03.2017
15:37:15
да, я понимаю все)

Tema
23.03.2017
15:37:26
да, я понимаю все)
я уж думал ты новичок

/dev
23.03.2017
15:37:27
и соедини их через #include
так то же самое получишь

Tema
23.03.2017
15:37:41
/dev
23.03.2017
15:37:43
это же просто копипаст

Эдуард
23.03.2017
15:37:46
А если просто нужно знать, что неймспейс есть, то объяви пустой. namespace Y {}

Tema
23.03.2017
15:37:51
в каждый из файлов закинкуть инклуд другого

Google
Эдуард
23.03.2017
15:39:38
в каждый из файлов закинкуть инклуд другого
Взаимовключение же, препроцессор не сможет разрулить.

Оба файла друг на друга ссылаться будут

Tema
23.03.2017
15:40:14
какаято

Эдуард
23.03.2017
15:40:34
Нужно сделать третий, и в него уже тогда включать в нужном порядке, если это вообще подойдет. Но тогда по факту выйдет перестановка неймспейсов местами, что по условию делать нельзя.

Alexander
23.03.2017
15:51:57
Задача: есть N прямоугольников, заданные координатами своих углов. Требуется для каждого прямоугольника найти все прямоугльники, внутри которых он находится полностью. Оффлайн задача. Требуется решение быстрее, чем за N^2

Кто такое умеет?

/dev
23.03.2017
15:52:37
просто хотелось пошутить над копипастом в сях как основным средством выразительности и модульности

Timofey
23.03.2017
15:57:59
Если прямоугольники совпадают, то считаем, что оба лежат один внутри другого?

Задача: есть N прямоугольников, заданные координатами своих углов. Требуется для каждого прямоугольника найти все прямоугльники, внутри которых он находится полностью. Оффлайн задача. Требуется решение быстрее, чем за N^2

Pavel
23.03.2017
15:58:53
это разве про С++?

Timofey
23.03.2017
15:59:15
вот нет**

Пахнет скорее олимпиадным программированием.

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