Я хочу создать класс, который поможет мне отлаживать, предоставляя функции std :: cout или QDebug, используя 3D-рендеринг.Оператор перегрузки << для текстового рендеринга
У меня есть следующий метод визуализации, который я использую в настоящее время
IRenderer::renderText(int posX, int posY, const float* color, const char* text, ...);
// E.g.
int i;
float f;
float color[] = {1, 1, 1, 1};
renderer->renderText(50, 50, color, "Float %f followed by int %i", f, i);
Это на самом деле работает хорошо, но мне интересно, если это возможно, чтобы создать класс, который позволит мне сделать это следующим образом:
debug() << "My variables: " << i << ", " << "f";
Я предполагаю, что будет функция шаблона, которая построит строку для перехода к renderText()
на основе типа ввода, но я не совсем уверен, как ее реализовать.
Вместо использования макросов я предлагаю вам определить 'template MyLogger & operator << (T const &)' для класса MyLogger, который будет делать то же самое с 'ss' –
kassak