Khi nào thì dùng & trước operator overloading function?

Em cần giải đáp vấn đề như trong link, mà tiếng anh của e kém. Khi nào thì dùng & trước operator overloading funtion ạ?

ClassName &operator+=(...)

toán tử này mình thấy không cần & nó cũng hoạt động bình thường mà nhỉ

Cụ thể là trong trường hợp này khi có & hoặc k thì kết quả vẫn như nhau, nhưng khác nhau ở điểm nào ạ?

matrix& operator+=(matrix &ojb){
			for(int i=0;i<a;i++)
				for(int j=0;j<b;j++){
					mt[i][j]=mt[i][j]+ojb.mt[i][j];
				}
			return *this;
		}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?