341-Spring01-Project2_-Questions 1. (2 points) What is the performance of operator<< for the SMatrix class? Could the performance of operator<< be improved with a different implementation of the SMatrix class? If so, how? If not, why not? 2. (3 points) The SMatrixRowItr class became "pastEnd" when it got to the end of the designated row. Suppose that an SMatrixRowItr always started at row 0, column 0 (upper left corner), and when it got to the end of row 0, it automatically advanced to the beginning of row 1. It would not be "pastEnd" until it got to the end of the last row in the matrix. Is this a feasible approach? If so, how would it affect your code? If not, why not? 3. (5 points) There are two approaches to writing operator+ and operator* for the SMatrix class. The preferred approach is to use SMatrix iterators. What is the asymptotic performance of these operators with this implementation? Justify your answer. Since the SMatrix class provides accessors for the number of rows and number of columns, these operators could also have been written using simple 'for' loops which repeatedly call the SMatrix retrieve(row, column) method. What would be the asymptotic performance of this approach? Justify your answer.