You can overload the indexing operazor "[]" (std::vector does this for example), and since c++23 this operator can have more than one argument.
The last one is a constructor call with an overloaded conversion operator. The {} syntax is possible since c++11 I think. The conversion operator was already available before that