c – 强制函数参数以匹配某些规则

c – 强制函数参数以匹配某些规则,第1张

概述有没有办法“强制函数参数遵循C中的某些规则? 为了举例,我想写一个计算数学函数的n阶导数的函数.假设函数的签名是这样的: double computeNthDerivative(double x, unsigned int n); 现在,假设我想禁止用户为n输入0.我可以使用断言或测试值,如果用户输入为0则抛出异常. 但有没有其他方法可以做这种事情? 编辑:条件将在编译时设置,但检查必须在运行时 有没有办法“强制”函数参数遵循C中的某些规则?
为了举例,我想写一个计算数学函数的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 – 强制函数参数以匹配某些规则所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存