C++中的变量转储

Fin*_*tan 5 c++ data-structures

是否有可能在复杂的结构甚至是C++中的数组上进行"转储",以便在视觉上能够检查它们内部的内容?

我正在考虑类似于PHP中的print_r()或var_dump().

干杯,-Fin

j_r*_*ker 8

简短的回答是:不,除非你亲自手动编写这样的例程.

这通常不是一个坏主意,但如果您经常添加/更改成员,它通常会遇到与课程不同步的问题.这是不可避免的,因为C++缺乏对structs的任何形式的内省.

如果您决定采用这种方式,最好的办法是编写一个重载std::ostream& operator<<(std::ostream& os, MyClass const&),这样就可以将您的类打印到任何IOStreams输出流.


小智 1

在 C++ 中通常不可能,因为它需要使用反射,而 C++ 没有反射。您当然可以编写自己的函数来转储特定的数据结构。