Cut-trough switching is not a standard. Actually it violates the 802.1D standard in some (minor) aspects.
So each vendor implement it on its own way and there's not a single answer to this question.
Beginning to forward the frame immediately after the destination mac address has been read doesn't prevent the switch to read the source mac while transmitting it, this could be a way to learn it with an optimal latency.
However most cut-trough switches will examine more than the single destination address field prior to decide to forward it.
In this article from Cisco you will find more information on this subject and more specificaly this paragraph :
Examining More Fields
Switches do not necessarily have cut-through
and store-and-forward "modes" of operation. As stated earlier,
cut-through switches usually receive a predetermined number of bytes,
depending on the type of packet coming in, before making a forwarding
decision.
The switch does not move from one mode to the other as
dictated by configuration, speed differential, congestion, or any
other condition.
For example, in the case of a configuration that
permits or denies packets with certain IPv4 TCP port ranges, the
cut-through switch examines 54 bytes before it makes a forwarding
decision. For a non-IP packet, the switch may receive the first 16
bytes of the frame, if the user has configured some kind of QoS policy
based on the IP precedence bits in the type-of-service (ToS) byte or
on the differentiated services code point (DSCP) bits.
Figure 3 shows
a standard IPv4 packet structure in an Ethernet ARPA frame. The
cut-through switch takes in 54 bytes of the Ethernet header (not
counting the 8 bytes of the preamble, which serves only to wake up the
transceiver and indicate the arrival of a frame) and, depending on the
vendors' design, may then run a policy engine against the pertinent
fields in the IPv4 header to determine whether, for example, the TCP
destination port matches the ACL, or the source IP address is in the
range of that ACL.
Good question. I'll answer it with an animation:
![enter image description here](https://i.stack.imgur.com/h5yvl.gif)
When Host A sends the frame, the switch does not have anything in its MAC address table. Upon receiving the frame, it records Host A's MAC Address to Switch Port mapping. Since it doesn't know where the destination MAC address is, it floods the frame out all ports.
This assures that if host B exists (which at this point, the switch does not know yet), that it will receive it. Hopefully, upon receiving the frame, Host B will generate a response frame, which will allow the Switch to learn the MAC address mapping from the return frame.
You can read more about how a Switch works here (where I took the animation from). I would also suggest reading the entire article series for a closer look at how a packet moves through a network.
One last note regarding the terms Flooding vs Broadcast. A switch never broadcasts frames, a broadcast is not an action a switch can take. A switch can only flood a frame. A broadcast is simply a frame with a destination MAC address of ffff.ffff.ffff
. This is often confused because the end effect is the same, but they are actually different.
Best Answer
When a switch receives a frame from an interface, it creates an entry in the mac-address table with the source mac and interface. If the source mac is known, it will update the table with the new interface.