I wonder which expression can be used in my following example?
Our teacher was a really smart person. At the second session, he know everyone's name …………….
-
off the top of his head
from the knowledge you have in your memory:- What's the capital of Mauritania?—I don't know off the top of my head, but I could go and look it up.
-
by heart
If you know something such as a poem by heart, you have learned it so well that you can remember it without having to read it.- Mack knew this passage by heart.
Best Answer
Generally, off the top of my head is usually used to refer to the first thing that pops into your head.
This is a valid thing to say but you could also say:
Meaning that it's not immediately available in your mind, but you do know the answer.
By heart implies something slightly different. To know something by heart it to know it inside out. You'd never hesitate to remember something you know by heart because you know it so well.
These are just my opinions and interpretations of the phrases (since you have already supplied the dictionary definitions).
However, given those slight nuances, I would lean towards using:
...since your sentence seems to imply that he had picked them up really easily and knows them inside out, rather than just that that he had them in the forefront of his brain.