Berkus
я это проходил задолго до публикаций касперски
Maxis
Stanislav
http://coolfire.insomnia247.nl/Hacker%20Disassembling%20Uncovered.pdf
Maxis
Anonymous
Всем привет, скажите что лучше для геттеров и сеттеров bankAccount или bankAccount2 ?
namespace bankAccount
{
using std::string;
class BankAcc
{
private:
string pass;
public:
void setName(const string & n) { pass = n; };
const string & getName() const { return pass; };
};
}
namespace bankAccount2
{
using std::string;
class BankAcc
{
private:
string pass;
public:
void setName(string n) { pass = n; };
string getName() const { return pass; };
};
}
Anonymous
В учебных целях
Vladislav
void setName(string n) { pass = std::move(n); } и
const string & getName() const { return pass; }
Deleted Account
Anonymous
Т.е то что мы возвращаем адрес приватной переменной — это нормально?
const string & getName() const { return pass; }
Deleted Account
Deleted Account
если не можеш гарантировать то может сделать метод release и забирать владение
Vladislav
Deleted Account
string releaseName() const { return std::move(pass); }
Anonymous
спасибо)
🐙 Antony
Deleted Account
я то все мемберы запаковываю в std::unique_ptr и делаю такие мувы 🙊🙈 релизы
Evgenii
Evgenii
зачем?
Deleted Account
зачем?
ну не все, ну типа мувать
Deleted Account
например у меня есть клас загрузчика настроек, он их читает и заполняет, а есть клас хранения настроек и создания индексов по ним
вот я между ними муваю
Deleted Account
это сильно зашкварно?
Evgenii
Evgenii
иначе ты просто код загромождаешь
Deleted Account
если понадобится оптимизация то можно нашаманить
Deleted Account
Evgenii
так же и с смарт поинтерами, я считаю не стоит их пихать повсюду
Tom
Надеюсь это была издёвка. Не делайте такие move!
Почему? Это же member variable, а не локальный объект. Вроде никакой RVO нету тут, или я путаю?
Для приличия можно так написать:
string getName() const& { return pass; }
string getName() && { return std::move(pass); }
Deleted Account
Tom
Vladislav
http://en.cppreference.com/w/cpp/algorithm/execution_policy_tag_t <- а вот эта штука на практике реализована где-нибудь сейчас?
Stanislav
vladislav
блэт, неудобные боты в телеграме всё же
vladislav
нет, общаться с ними неудобно
Berkus
да вроде достаточно круто, не хуже других ботов
Mikhail
на сколько удачна реализация https://codeshare.io/5OKVyN
Mikhail
возможны постоянные добовления и удаления ( удаление пока не написано)
Vladislav
ну и unique_ptr<list<..» - не совсем понятно, зачем сам list где-то в хипе выделять
Mikhail
с этой целью list, а в целом да vector лучше бы подошёл
Mikhail
пишу под HoloLens в UWP
Mikhail
стараюсь уйти от небезопасных укозателей
Vladislav
не, я имею в виду - почему не просто list<...>?
Mikhail
хмм ))
Mikhail
согласен
Vladislav
да и type_info_component легкий, думаю его лучше просто копировать, а не в shared_ptr заворачивать
Mikhail
В общем применяю смарт указатель вместо new и delete
Vladislav
но я про то что часто проще не использовать указатели вообще
Mikhail
Они достаточно тяжёлые + потокобезопасные, и меньше геморра с утечкой
Mikhail
и в выше вопрос про unique по этому и применил
Vladislav
Я предлагаю unique_ptr<list<shared_ptr<type_info_component»> -> list<type_info_component>, если нет каких-то нюансов, которые не дают так сделать
Vladislav
и код проще будет, и работать быстрее
Mikhail
тогда будет new и delete
Vladislav
почему?
Mikhail
просто в дальнейшем меньше траблов будет с потоками
Vladislav
у текущего кода и так будет куча траблов с потоками
Vladislav
и заворачивать все объекты в shared_ptr никак не помогает, казалось бы
Mikhail
в чём мои ошибки?
Mikhail
они же атомарные
Vladislav
а объекты, на которые они указывают - нет
Vladislav
и list тоже не thread safe
Mikhail
ладно подумаю, спс
vector0
Привет, есть ли здесь люди которые решали задачи с помощью Boost.Polygon? Я планирую использовать эту библиотеку для построения диаграммы вороного и перейти от нее к триангуляции Делоне. Но я не понимаю почему by design:
"The coordinate data type <...> is expected to be integral."
Может быть я что-то упускаю из вида? Ведь для реальных задач, как правило приходится работать с даблами.
Vladislav
Vladislav
олсо, триангуляцию Делоне в общем случае проще напрямую искать, а не через диаграмму Вороного; Есть довольно быстрый и легкий в реализации вероятностный алгоритм, например
vector0
Изначально была идея не городить своих велосипедов, поэтому начал смотреть в сторону доступных мне решений.
Vladislav
возьми cgal тогда
vector0
Тут ключевое слово доступных мне решений, у меня нет возможности тащить в проект всё, что захочется и не только из-за лицензионных ограничений.
vector0
Бустовые библиотеки тоже по большому счёту под запретом.
Vladislav
vector0
Ну на самом деле доступные вещи яна предмет доступности нужного я уже изучил, там оно отсутствует, так что остаются свои реализации. Спасибо за идею с вероятностным алгоритмом, был знаком только с итеративными, сейчас поподробней покапаюсь в эту сторону.
Vladislav
еще вариант - заюзать буст, если можно координаты да fixed-point округлить
Vladislav