2012-05-03 73 views
2

可能重複:
Dump facility in C++ like var_dump() in PHP?C++等效於來自PHP的print_r()嗎?

我不知道沒有C++甚至允許這種事情,但我想知道,難道可以寫一個通用的函數,可以以純文本格式輸出任何類型的數組(std :: vector),只要我自己寫出每個類型的輸出函數,例如std :: string,float,int等等。

那麼,我該怎麼去通過結構類型並輸出它們一個b Ÿ由我製作的不同輸出功能?

+0

@ildjarn,是否管理print_r()任何結構?通過查看代碼,它看起來像需要自己預先定義每個結構打印樣式? – Rookie

+0

任何_standard library collection_;用戶定義的類型當然必須實現自己的流媒體運營商。 – ildjarn

+0

@Rookie:漂亮的打印機打印任何具有'begin()'/'end()'的東西,並且它對格式有合理的默認值。如果你想看到不同的東西,你只需要重寫它。 –

回答

0

你應該看看cxx-prettyprint。 http://louisdx.github.com/cxx-prettyprint/

我認爲它可以滿足您的所有要求。

+0

nope它doesnt(?)我正在尋找的是一種輸出任何'struct'的方法,即使該結構在數組中:'vector ',所以它會通過結構值並根據函數輸出它們我會提供每種數據類型。所以如果我有'struct MyStruct {int a; float b; string c;};'它可能輸出如:'[a = 35567,b = 13.53246,c =「測試字符串」]'。你知道這是甚至可能的C++? – Rookie