C++ 向类的每个方法添加不变检查

C++ 向类的每个方法添加不变检查,c++,gcc,C++,Gcc,我有一个包含许多方法的类,并且希望检查pre/post条件,例如is mMember==null,如果不是,则调用函数x() 是否可以自动向该类的每个成员添加前置/后置条件?类在class.h中定义,所有方法在class.cpp中定义。能够在class.cpp的开头定义一个宏是非常理想的,它将仅插入该文件中的每个函数项中 我知道我可以在每个函数项上手动添加相同的前置条件/后置条件(使用析构函数),但我一次又一次地遇到这个问题。这是不理想的,因为我不能检查这些变化,必须保持它们在本地,他们有根从别

我有一个包含许多方法的类,并且希望检查pre/post条件,例如is mMember==null,如果不是,则调用函数x()

是否可以自动向该类的每个成员添加前置/后置条件?类在class.h中定义,所有方法在class.cpp中定义。能够在class.cpp的开头定义一个宏是非常理想的,它将仅插入该文件中的每个函数项中


我知道我可以在每个函数项上手动添加相同的前置条件/后置条件(使用析构函数),但我一次又一次地遇到这个问题。这是不理想的,因为我不能检查这些变化,必须保持它们在本地,他们有根从别人的变化。< / P > < P>我从来没有做到这一点在C++中;我总是使用手动添加到每个成员函数中的一组宏


这听起来像是一个很适合面向方面编程的工作,我看到在C++中有AOP的库,比如APETCT+++。至少值得一看其中的一个,看看它是否可以用来解决您的问题。

首先,它是“不变的”,而不是“不变的”。第二,你在问题标题中提到了不变量,但在正文中你只提到了“前置/后置条件”。@Alexandros你可以通过使用相同的前置/后置条件来检查不变量,这样就没有问题了。