Ti è già stato spiegato il perché: send_buf è un puntatore, pertanto la sua dimensione sarà di 4 bytes su architetture 32bit, 8 su architetture 64bit.
Quello che ho fatto è calcolare la dimensione di T e moltiplicarlo per il numero di elementi dell'array. In questo modo si ottiene la dimensione equivalente dell'array come se fosse di char.
Se sei alle prime armi, comprati un libro di C++ ( o C se ti interessa solo quello), tenendo presente che C e C++ sono due linguaggi diversi con alcuni punti in comune.