У меня есть фрагмент кода, который выглядит какC++ автоматическая генерация препроцессор кода
std::string z_A_file("z_A.txt");
z_A_file = inputs_folder + z_A_file.c_str();
Eigen::Matrix<PRECISION, Eigen::Dynamic, Eigen::Dynamic> z_A_ = readArbitraryMatrix<PRECISION>(z_A_file.c_str());
Eigen::VectorXf z_A = z_A_;
//
std::string z_B_file("z_B.txt");
z_B_file = inputs_folder + z_B_file.c_str();
Eigen::Matrix<PRECISION, Eigen::Dynamic, Eigen::Dynamic> z_B_ = readArbitraryMatrix<PRECISION>(z_B_file.c_str());
Eigen::VectorXf z_B = z_B_;
Могу ли я иметь функцию препроцессора так, что я просто пишу
read_vector(A);
read_vector(B);
вместо того, чтобы повторять один и тот же код ?
Как-то * Начало * Приходит на ум. И вы могли бы, но какое это было бы? Создайте коллекцию векторов, создайте схему именования, которая соответствует файлам, нарисуйте ее. Бонусные баллы за лямбда. –
Если у вас есть пять или более таких фрагментов, это может стоить проблем. Только для двух, используя предварительный процессор, не стоит терять видимость кода. –
У меня около 100 таких фрагментов :-), поэтому их переписывание может привести к ошибкам. – user1194167