Closed michalwidera closed 5 months ago
@szreder - Wielkie dzięki!
T *ptr = std::unique_ptr<T>(new T{}).release();
T *ptr = new T{};
No i wtedy pytanie czy tam coś nie cieknie. Jak read() zwróci -1, to read_size się przekręci na dużą liczbę.
push_back(rField(n, l, a, t));
na
emplace_back(n, l, a, t);
I wtedy idąc dalej: jak przyjąć parametr std::string n przez kopię, to:
emplace_back(std::move(n), l, a, t);
Swoją drogą, dziedziczenie po kontenerach z STL jest generalnie odradzane, ale nie to, że nie wolno.
Tylko trzeba uważać na destruktory.
W liniach 133. i 134. - może też się da (odpowiednio) emplace_back() i .emplace() (albo .try_emplace())?
W tej pierwszej funkcji idzie std::string przez kopię, no ale to rozumiem, że do celów trimowania. Jak by to był string_view, to wszystko się zrobi tanie.
EnumClass(Cake, unsigned, Cheese, Chocolate);
Cake c; c = Cake::Cheese; std::cout << static_cast<const char >(c) << '\n'; c = Cake::fromString("Chocolate"); std::cout << static_cast<const char *>(c) << '\n';
* Bym przemigrował większość stringów na std::string_view, żeby nie walić w stertę.
Nie dam rady tego wszystkiego ogarnąć w Data Retention - dlatego wydzielam #52 żeby nie zgubić a zamknąć #7
AS A [user], I WANT TO [set retention policy on given TS], SO THAT [I can control how much archive data I can get and how much data are stored]