所有语法书上都有remember doing sth=remember have done sth=remember to have done sth.学生认为还是有区别的,前者仅仅表示过去一般的动作,而后两者表示过去某个动作对现在的影响,就好比过去一般时态和现在完成时态的区别。比如lock.用前者的话只是表达过去有这么个动作,后两者则表示这个动作对现在产生的影响(防止小偷进去、家里的宠物狗不会溜出来……)
非谓语动词的完成体的意义不能完全套用现在完成时与一般现在时的区别。例如:
He must have left. 不定式完成体对应现在完成时 He has left.
He must have left yesterday. 不定式完成体对应一般过去时 He left yesterday.
He is the first person to arrive.
= He is the first person to have arrived.
以上二句意义完全相同,只不过不定式用完成体为正式语体,用得较少。
改为定语从句都是现在完成时:
He is the first person that has arrived.
I remember seeing him before.
= I remember having seen him before.
以上二句意义没有区别,只是动名词用完成体为正式语体。改为宾语从句都用现在完成时:
I remember that I have seen him before. (如果seeing/having seen后面有确切时间状语,则that从句用一帮过去时)
所以,你的理解是不正确的。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
1. remember doing sth vs remember having done sth
大部分情况下,它们的确是相等的,因为就某事而言,都是结束了,因而逻辑上,结果有相同之处。但说什么时候它们都一样,则是误导的。比如最起码的一点:
doing sth=做某事那回事;做某事那过程
having dong sth = 做某事那回事;做某事做完了
比较,
Do you remember our singing together in the park?
Do you remember our having sung together in the park?
这两句的区别,显而易见。但如果粗略地说“唱过”---- 的确是相等的。这就看你的水平了,这种东西,书上没有。更多的时候,也许得把结构与词汇、语境统一起来看。
2. remember having done sth vs remember to have done sth.
前者是现在在用的语言,并且更多的时候可能是用remember doing; 后者是较旧的语言,但偶尔还会看到。这种东西,我不止一次推荐过用 Ngram做参考(当然只是参考),看看就基本能知道个大概了。