First make sure you really need to use roll for camera movement, as it's uncommon unless you are making a camera that follows something that flies. You change roll by rotating the up vector about the front vector (which will be unchanged), so it should look something like
up.y = up.y * cos(rollAngle)
up.x = ...
up.z = ...
where x and z will have 2 terms, depending on x and z of the front vector, similar to how the tutorial calculated the front vector depended on yaw and pitch
You might want to consider a linear algebra library like Eigen as it will take care of rotations and other things you will probably need pretty easily using their Transform api.