为了举例,我想写一个计算数学函数的n阶导数的函数.假设函数的签名是这样的:
double computeNthDerivative(double x,unsigned int n);
现在,假设我想禁止用户为n输入0.我可以使用断言或测试值,如果用户输入为0则抛出异常.
但有没有其他方法可以做这种事情?
编辑:条件将在编译时设置,但检查必须在运行时完成.
解决方法class Policy {private: String myPolicy;public : Policy(String regEx) : myPolicy(regEx) { } voID verify(int n) { regEx strtok,sprintf,blah,blah n};class Asserted {private: Policy policy;public: Asserted(Policy policy,int n) throw AAAHHHHH { policy.verify(n); }};
然后最后
Asserted assert = new Asserted(Policy("[1-9]",8))double computeNthDerivative(2.6,assert);总结
以上是内存溢出为你收集整理的c – 强制函数参数以匹配某些规则全部内容,希望文章能够帮你解决c – 强制函数参数以匹配某些规则所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)