No se puede entender el bucle con dos variables [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Cómo funciona el operador de coma 9 respuestas

Cuando uso dos variables en un bucle for con diferentes condiciones, dos condiciones como las que he usado a continuacióni<3,j<2 el bucle for siempre se ejecuta hasta que falle la segunda condición.

#include<iostream>
#include<conio.h>
using namespace std ;
int main()
{
int i,j ;
for(i=0,j=0;i<3,j<2;i++,j++)
{
    cout<<"hello" ;
}
getch() ;
return 0 ;
} 

En ese código,hello se imprime 2 veces. ¿Por qué

Si usoi<3,j<10, "Hola" se imprime 10 veces. No puedo entender por qué se descuida la primera condición. ¿Es dependiente del compilador o algo más?

Todo funciona normalmente si lo reemplazo con condiciones como || (OR) o && (AND). Otra cosa es que no puedo inicializar iyj en el ciclo for, me muestra un error, pero funciona bien cuando declaro variables en estilo C o una variable fuera del ciclo for , ¿por que es esto entonces

Compiler que he usado es Orwell Dev C ++.
Gracias por adelantado

Respuestas a la pregunta(3)

Su respuesta a la pregunta