2012-10-28 20 views
53
I'in bir std::vector başlatmak için de benzer bir yol var böyle

sıfırlara bir vektör başlatmak C++/C++ 11

double number = {}; // number = 0 
int data{}; // data = 0 

gibi sıfıra bir değişkeni başlatmak için özelliği eklendi C++ 11 bilmek

tüm sıfırlar için sabit bir uzunluk?

+8

'std :: vector VEC (42); Btw' – avakar

+5

, bu C++ 11'de yeni değil, sen yapabilirsiniz Önceki sürümleri de – balki

cevap

116

Bunun için başlatma listeleri gerekmez:

std::vector<int> vector1(length, 0); 
std::vector<double> vector2(length, 0.0); 
+17

Açıkça 0 belirtmeniz gerekmiyor mu? sadece vektör (uzunluk) 'çalışmalı? – jozefg

+18

@jozefg: Evet, işe yarayacak, ancak kodun yapmasını istediğin şey hakkında açık bir zararı yoktur. – ronag

+0

@ronag Kendi cevabımı yazdım çünkü bu durumda açık olması, int çalıştığı türde değilse, iyi bir örnek değildir. gereral programlama C++ 'da mevcuttur, ancak argümanı tamamen iptal edebileceğiniz hatırlatıldığında cevabımı kaldırdım. –