Új hozzászólás Aktív témák
-
EQMontoya
veterán
Beszéljünk az emplace_back vs. push_back témakörről.
Tegnap felvetette az egyik arc, hogy használjunk mindenhol emplace-t, elvégre úgyis rendelkeznie kell az osztálynak copy-construktorral, tehát mindenhol olyan gyors lesz, vagy gyorsabb, mint a push_back.Nekem ez így annyira nem tetszett, mert az emplace helyben konstruálásra való, az igazából egy elég fura mellékhatás, hogy copy-ctr miatt igazából használható push_back helyett is.
Jött a kérés, hogy akkor írjak olyan esetet, amikor nem ajánlott az emplace. Írtam:
#include <iostream>
#include <vector>
#include <memory>
class A
{
public:
bool mb;
explicit A(bool b): mb(b) {}
};
int main()
{
A* ap = new A(false);
std::vector<A> vec;
vec.emplace_back(ap); //this compiles without warning - sooooo bad!
//vec.push_back(ap);
std::vector<std::unique_ptr<A>> uptr_vec;
uptr_vec.emplace_back(ap);
delete ap; //busted
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Gumi és felni topik
- Autós topik
- SSD kibeszélő
- Samsung Galaxy S21 FE 5G - utóirat
- Genshin Impact (PC, PS4, Android, iOS)
- World of Tanks - MMO
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Bittorrent topik
- Facebook és Messenger
- További aktív témák...
- Bomba ár! Lenovo ThinkPad T490s - i7-8GEN I 16GB I 256SSD I 14" WQHD HDR I Cam I W11 I Gari!
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730,
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- DELL Universal Dock UD22 210-BEYV (DisplayLink)
- Nexus 6P 32GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest