This question already covers what PODs and aggregates are, and provides some examples on aggregate initialization.
The question here is where can you use li
List-initialization can be used to initialize dynamically-allocated arrays (C++11):
int * a = new int[3] {4, 3, 2};
A very nifty feature not possible in C++03.