std::vector
może być inicjowany jakoJak zaimplementować listę inicjalizacyjną dla typu zdefiniowanego przez użytkownika? (Analogiczne do std :: vector listy inicjalizator)
std::vector<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
Teraz, jeśli chcemy osiągnąć podobną funkcjonalność dla jednego z moich typów, w jaki sposób go o to robi ? Jak powinienem wdrożyć konstruktora dla tej funkcjonalności ?.
W jaki sposób standard wspomaga mnie w osiągnięciu tego celu (odniesienie do normy będzie najbardziej pomocne) ?. Zasadniczo, jeśli mógłbyś mnie nauczyć, jak to jest zaimplementowane dla std::vector
, to będzie wystarczające.
Czy można to zrobić również przed C++ 11?
Co więcej, czy mogę mieć listę inicjalizatorów typu POD struct, dzięki czemu mogę mieć wartości z różnymi typami, aby zainicjować mój typ?
wartości na liście inicjalizującej muszą być tego samego typu, prawda? czy mogę mieć inny typ (tak jak inicjowanie struktury POD)? –
@Koushik Muszą być wszyscy jednego rodzaju. Jest skutecznie przechowywany jako tablica typu 'T'. – Yuushi
oh tak ma mieć strukturę POD takich jak lista inicjalizacyjna jest to? –