Хотя я и не знал, что вы не можете перегрузить operator[]
в C ++, чтобы принять более одного аргумента, я случайно натолкнулся на утверждение, которое, к моему удивлению, оказалось верным:
#include <vector>
#include <iostream>
int main()
{
std::vector<int> numbers{1, 2, 3, 4};
int i = 0;
std::cout << numbers[i++,i+=1,i=1,i+1] << std::endl;
return 0;
}
Может ли кто-нибудь объяснить, есть ли польза от передачи нескольких выражений в operator[]
?
скомпилировано с mingw g ++ 4.8.1 с -std = c ++ 11