Вопрос был о питоне и с ++, но изменился только на с ++ ??
В Python вы можете печатать каждую вещь на globals()
или locals()
и, если объектэто экземпляр класса, который не имеет представления ваших данных, просто напечатайте атрибут __dict__
внутри него.Т.е. идите рекурсивно печатая каждую вещь.
Псевдокод:
def show(obj):
if isinstance(obj, (int, float, ...default types...)):
print obj
if isinstance(obj, dict):
for i,j in obj.items()
print i, show(j)
else:
show(obj.__dict__)
, тогда вы делаете:
show(globals()) #or show(locals())
Возможно, вы захотите отфильтровать больше случаев, но этоосновной алгоритм.