Your question implies that everything has to be rendered with a vertex representing each small piece of a curve. This simply isn't accurate. It also implies that device rendering space is in some way continuous.
In computer graphics all the devices we draw to are discreet. There is no continuous space so any rendering is going to be an approximation. Even the underlying math is discreet, in floating point math most computations will still be approximations of the actual answer since most results can not be fully represented.
Having set an appropriate expectation we can still get pretty good approximations of most curves.
For example, a curve can be rendered inside a shape that is defined by vertex attributes which bound the curve. Once the curve is bounded each pixel inside the bounding area is tested for it's distance to the curve and its color set appropriately. The vertex data simply limits the region that is tested. When used properly this approach can greatly enhance the performance of a drawing algorithm.
Throw away the strictly binary notion of "on" or "off" the curve. The curve itself is infinitesimally small and we can never hope to hit it exactly no matter the zoom. Instead it is a question of "how far away" is the center of this pixel from the curve. The center of a pixel can be thought of as being infinitesimally small so it has the potential of being exactly on the curve. But when the pixel is set, it takes up real space which will can't come close to representing a continuous curve. Instead combine "at what distance" do we want to start showing the curve with "how far away" is the center of the pixel from the curve to get an approximation for the color of the pixel.
These two ideas allow curves to be render very thick, or very thin. It also allows the color of the pixels to be blended with the background color so that the pixels themselves have some representation of distance. Get to far away and the pixel is the background color, get close enough and the pixel is the foreground color. Everything in between not only helps with aliasing, but also helps us visualize the distances involved.
This breaks the problem of rendering the curve down into two pieces.
Calculate the bounding region for the curve and generate appropriate vertex data. Typically done either on the CPU or in a compute shader.
Draw the curve by computing the distance from the center of each pixel to the curve. Typically done with a vertex/fragment shader combo.