Q: Не печатается Hello, World! Почему этот код не печатает "Hello, World!"?
#include <iostream>

int main() {
    std::cout << sizeof(std::cout << "Hello, World!") << '\n';
}


A: Потому что вы попросили его вывести размер типа выражения std::cout << "Hello, World!", причем этот размер вычисляется во время компиляции, а не во время выполнения программы.
Смотрите, например, какая разница, чему будет равна переменная int i; - ее размер от этого не изменится. Так и
std::cout << "Hello, World!"

что бы вы ни выводили - будет иметь один и тот же возвращаемый тип, так что реально выполнять выражение совершенно ни к чему...
Посмотрите тут - https://gcc.godbolt.org/z/Ke45d7 - как видите, размер вычисляется и подставляется еще на уровне компиляции...

A: 
When applied to an expression, sizeof does not evaluate the expression
— cppreference

Параметр sizeof не вычисляется (то есть никакие функции в нем не вызываются на самом деле, =, ++ и -- не меняют значения переменных, и т. д.).
Потому что для определения размера это не нужно. Размер всегда известен во время компиляции. (Потому что зависит только от типа выражения, который тоже известен во время компиляции.)
