- Yes, operator is a little slower, especially if you have exceptions/etc turned on; it checks whether range is valid, etc. However your loop isn't big enough to make a any noticeable difference
operator does not does not do bounds checking on a std::vector, the at(size_t) member function does do bounds checking and will throw an out_of_range exception. As for it not being inlined. As for inlining as asked by OP, this would vary from compiler to compiler. operator is a trivial function and I doubt the fact it is in a loop would prevent it being inlined. You would have to check the assembly code.
Also it's worth repeating what has already been said, when you are really aiming for performance gains a good profiling tool is an absolute must!