One works in C++03 and one doesn't. And I believe the first one will get problematic if simple provides a constructor that takes an std::initializer_list<int>, though I'll have to admit that I'm still a bit fuzzy on that.
@Hanst99: True, C++0x does now define std::initializer_list< >( ) as a type and may cause conflicts in the future. And for that reason, I think I should stick with Statement B.
In the future? Before C++11 Variant A wasn't possible and it is now the preferred variant.
Uniform initialization has proven to be one of the most time-saving features in C++11.
When a class has a constructor that takes only a single initializer_list (make it explicit to avoid mistakes), it just means you can't use the shorthand if you want to call a different constructor.