要自定義C++的trace輸出格式,可以使用一些技巧和方法來實現。以下是一些常見的方法:
#include <iostream>
class MyClass {
public:
int x;
int y;
friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) {
os << "MyClass(" << obj.x << ", " << obj.y << ")";
return os;
}
};
int main() {
MyClass obj;
obj.x = 10;
obj.y = 20;
std::cout << obj << std::endl;
return 0;
}
std::setw
和std::setfill
來設置輸出的寬度和填充字符。#include <iostream>
#include <iomanip>
int main() {
int num = 123;
std::cout << std::setw(10) << std::setfill('*') << num << std::endl;
return 0;
}
#include <iostream>
#include <boost/format.hpp>
int main() {
int num = 123;
boost::format fmt("%1%");
fmt % num;
std::cout << fmt << std::endl;
return 0;
}
無論使用哪種方法,都可以根據自己的需求來定義C++的trace輸出格式。