Ha egy C++ osztálynak van egy adattagja, aminek a konstruktorban értéket akarok adni, akkor az így a leggyorsabb?
Figyelt kérdés
Eddig úgy csináltam mondjuk, hogy pl:
v = std::vector<int>(100);
De ez nem lassú? Hiszen konstruálok egy vektort, majd azt átmásolom a v-be, nem? Ez két művelet.
2012. jún. 29. 17:26
1/1 iostream válasza:
De, lassú, hiszen két vektor jön létre. C++11-ben a másolás maga gyors lenne, hiszen move szemantikát használna, ezt a működést a régi fordítókkal is el tudod érni, csak hívj swapet rá:
v.swap(std::vector<int>(100));
A problémádra: az inicializálásra találták ki az inicializáló listát.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!