Разница между ::std::ios_base::app и ::std::ios_base::ate
В чём разница между ::std::ios_base::app и ::std::ios_base::ate?
Эта программа выводит то же самое, что и для ::std::ios_base::app:
#include <sstream>
#include <iostream>
int main()
{
::std::stringstream ss{"1", ::std::ios_base::in bitor ::std::ios_base::out bitor ::std::ios_base::ate};
::std::cout << ss.str() << '\n';
ss << "2";
::std::cout << ss.str() << '\n';
ss << "3";
::std::cout << ss.str() << '\n';
return 0;
}