Deleted Account
и оно как то магически мувнет
Anton
std::pair<iterator,bool> insert( P&& value ); Вот на это смотрю
Deleted Account
ваще я бы не хранил в коллекции объекты
Deleted Account
я бы хранил там указатели на объекты
Anton
я могу сделать мап который будет как раз эти уникальные указатели хранить
Deleted Account
надо попробовать мувнуть
Anton
я не очень понимаю как из unique_ptr сделать rvalue. ))
Anton
std::move(pA)?
Deleted Account
std::move
Deleted Account
да
Anton
Спасибо! Пойду пробовать
Square
ну дык с 14года же
Атомики с 11. Как и модель памяти
mefest
Anton
Говорит не знает он такой фукнкции insert))
Anton
std::unique_ptr<ksk::Ksk> k = getKskData(i);
Anton
ksks.insert(std::move(k));
Matway
ksks.insert(std::move(k));
Если это map, то нужен ключ ещё.
Anton
балиииин))
Surreal
ksks.insert(std::move(k));
ksks[key] = getKskData(i);
Anton
ну так я добавлю unique_ptr в качестве value, а мне сам объект нужен
Александр
подскажет кто header-онли либу для json'а без зависимостей?
Anton
собственно ругается компилятор
Matway
ну так я добавлю unique_ptr в качестве value, а мне сам объект нужен
Нет ничего зазорного в том, чтобы хранить в мапе std::unique_ptr std::map<int, std::unique_ptr<float>> m; m.emplace(0, std::make_unique<float>(1.0f));
Anton
Память нормально освобождаться будет при erase, clear ?
Anton
Я думаю что наверное так и сделаю.
Anton
Спасибо!
Matway
Я думаю что наверное так и сделаю.
Только не стоит там действительно 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; }
Matway
std::unique_ptr полезен, если там что-нибудь увесистое или полиморфное.
Surreal
unique_ptr полезен там, где раньше был new.
Deleted Account
и мувается и некопируется лишний раз
Andrei
И лишняя индирекция.
Matway
я ваще всё запаковываю в 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; ? :))
Александр
https://github.com/nlohmann/json
странно, я точно её видел, но почему-то пропустил. спасибо)
Surreal
Так: 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
а вот вознимает интересный вопрос. можно ли при таком раскладе сделать a_map = b_map; ?
Anton
а как перетащить один мап в другой?
Anton
или вообще получается не вариант?
Matway
а как перетащить один мап в другой?
a_map = std::move(b_map). Что зачастую и нужно.
Deleted Account
STL же
Pavel
в 17м вроде можно часть структуры перетащить в другую :)
Ruslan
Как сделать так, чтобы namespace Y был виден в X, не перемещая их местами? ns X { ... } ns Y { ... }
Ruslan
не, могу разбить по файлам) мне просто было интересно)
Ruslan
в инете за 15мин адекватного ничего не раскапал
Deleted Account
на файлы
Deleted Account
и соедини их через #include
Ruslan
да, я понимаю все)
Deleted Account
да, я понимаю все)
я уж думал ты новичок
Nikita
и соедини их через #include
так то же самое получишь
Nikita
это же просто копипаст
Richard
А если просто нужно знать, что неймспейс есть, то объяви пустой. namespace Y {}
Deleted Account
в каждый из файлов закинкуть инклуд другого
Richard
в каждый из файлов закинкуть инклуд другого
Взаимовключение же, препроцессор не сможет разрулить.
Richard
Оба файла друг на друга ссылаться будут
Deleted Account
какаято
Richard
Нужно сделать третий, и в него уже тогда включать в нужном порядке, если это вообще подойдет. Но тогда по факту выйдет перестановка неймспейсов местами, что по условию делать нельзя.
Nikita
просто хотелось пошутить над копипастом в сях как основным средством выразительности и модульности
Timofey
Если прямоугольники совпадают, то считаем, что оба лежат один внутри другого?
Timofey
Задача: есть N прямоугольников, заданные координатами своих углов. Требуется для каждого прямоугольника найти все прямоугльники, внутри которых он находится полностью. Оффлайн задача. Требуется решение быстрее, чем за N^2
Pavel
это разве про С++?
Timofey
вот нет**
Timofey
Пахнет скорее олимпиадным программированием.