Мне было интересно, есть ли способ сохранить вывод следующего код в матрицу повышения или вектор.
size_t num_of_steps = integrate_const( make_dense_output< rosenbrock4< double > >( 1.0e-6 , 1.0e-6 ) ,
make_pair( stiff_system() , stiff_system_jacobi() ) ,
x , 0.0 , 50.0 , 0.01 ,cout << phoenix::arg_names::arg2 << " " << phoenix::arg_names::arg1[0] << "\n" );
Строки 94-97 выше передают операторы cout ‹‹ "" ‹‹ endl в функцию в качестве аргументов. Эти операторы печатают результаты. Я не нашел способа сохранить результаты, изменив эти переданные операторы.
cout <<
с разными типами данных, что звучит как проблема, когда вы хотите сохранить эти данные, а не отображать их. Каждый вызовcout << T
вызываетstd::ostream& operator <<
сT
в качестве аргумента. Вопрос - сохранять данные вvector
илиmatrix
обязательно? Что-то не так сstd::stringstream
? В некотором смысле он может вести себя как контейнер. - person Fureeish   schedule 22.09.2017