Hirdetés
Ú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!
- Eladó MacBook Pro 14" M3 Pro 11C 14C 16GB 512GB
- Samsung S22 ultra 256/12 Gb Független .45w gyorstöltő+ 3 tok
- Szinte Új Sony a6400 Szett (2024-es, 3300 expo) + Rengeteg Extra!
- L14 Gen4 14" FHD IPS Ryzen 7 PRO 7730U 16GB 512GB NVMe ujjlolv IR kam gar
- P14s Gen2i 14" FHD IPS i7-1165G7 T500 16GB 512GB NVMe magyarított (lézerezett) bill ujjolv gar
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- HP ZBook Studio G7 i7-10850H 32GB 1000GB Nvidia Quadro T1000 15.6" FHD 1 év garancia
- Gombászkönyvek egyben
- Lenovo Thinkcentre M920t Tower/ M720s SFF / i5-8-9. gen/ WIN10-11/számla, garancia
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest