Aktywne Wpisy

katienca +36
W------i mnie dzisiaj z wolontariatu ratującego zwierzęta, bo śmiałam zgłosić szanownemu zarządowi po ponad roku męki z koordynatorka fakt, że jest niekompetentna. Podałam im mnóstwo przykładów - pisząc im, że próbowalismy z nią wielokrotnie gadać jako wolontariusze, że odwalam za nią robotę, że nie dotrzymuje obietnic, kłamie i do tego popija częściej niż ustawa przewiduje i nawet raz przyszła ogarniac uratowane zwierzęta n------a jak szpadel. Jakież było moje zdziwienie kiedy na spotkaniu

Gawith_Apricot +48





Jak skleić kilka zmiennych typu bool w jedną typu char albo dłuższą?
bool* bo = new bool[10];bo[0] = false;
bo[1] = true;
bo[2] = true;
bo[3] = true;
bo[4] = true;
bo[5] = true;
bo[8] = true;
Lub (lepiej)
Zapisać te zmienne do pliku bit po bicie a nie jedną na bajt.
Robiłem to pętlą i tak to wychodzi.
for(int x=0; x<3; x++) {ofs.write((char*)(&bo[x]), sizeof(*bo));
}
Boolextracted = (bool >> pozycja) & 1;
vectorlub, lepiej,bitset<10>. A o używaniunewmam tyle do powiedzeniaKomentarz usunięty przez autora
Komentarz usunięty przez autora
vectoralbo zunique_ptrz funkcji. Zwracanie nagiego wskaźnika odpowiedzialnego za zwolnienie pamięci jest nieakceptowalne.Jak dla mnie bardziej to brzmi jako ,,nie pracuj z nagimi wskaźnikami, bo bedziesz mial problemy z zarządzaniem pamięcią" ;)
unique_ptrto w większości przypadków maszmake_uniquemake_uniquema problem właśnie z agregatami i gdy chcesz własny deleter. A co robi pod spodem nie ma znaczenia, istotne jest aby jawnie tego nie robić bez powodu.@look997: Jeszcze możesz z
boost::dynamic_bitsetskorzystać:https://wandbox.org/permlink/FR3keanVBn2QdkAV
Ale na jakąś sensowną kolejność bitów to nie licz.
Jeżeli nie chcesz się bawić w boosta to zostaje ci napisanie tego recznie albo użycie std::bitset<8> i konwertowanie w locie przy użyciu
to_ulong.