Kezdőoldal » Számítástechnika » Programozás » Ha egy C++ osztálynak van egy...

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.

2012. jún. 30. 07:09
Hasznos számodra ez a válasz?

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!