Всё становится интереснее, если x, y, z еtс это не целочисленные переменные, а экземпляры классов с конструкторами/операторами присваивания от int и наличествующим кастом к int. Однако, писатели компиляторов это всё знают и всё работает корректно - и volatile и reeadonly - всё обрабатывается. RTFM стандарт ISO на C++:)