加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 09:57:49 所属栏目:百科 来源:网络整理
导读:有没有办法“强制”函数参数遵循C中的某些规则? 为了举例,我想写一个计算数学函数的n阶导数的函数.假设函数的签名是这样的: double computeNthDerivative(double x,unsigned int n); 现在,假设我想禁止用户为n输入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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读