虽说这是虚拟句的语法规则,但也不必死记,试着用中文来理解时态搭配上的逻辑.
If I had done sth, I would have done sth. 这种虚拟句,中文的意思就是:
如果我【当时】做了XX,我肯定就【已经】YY了.
例如: If I had known, I would have told you. 如果我当时知道,我一定就已经告诉你了.
If I were you, I would have left her.
如果我是你(与事实不符),我肯定已经离开她了.
这种句子用中文思考,用 “已经发生” 的概念也该想得通.这在英文而言,就是以 would/should/could + 完成时来体现.