c++增强c类接口安全性.

参考网址

<型名 T> 独包 {
    独针<T>h;//包装一个
     检查(){
        (h==空针) 无效实参("无效");
        (h->错误) 无效实参(h->错误串);
    }//这是h内部有`错误`.
:
    T()=;
    T( T&)=;
    T&符号=( T&)=;
    //其余皆删
    T(T&&)=默认;
    T&符号=(T&&)=默认;
    //只能移动
    T(T*o):h(o){}//保存指针
    符号 (){ h!=空针&&!h->错误;}
    T*符号()(){();}
    //重载(),就是取(),多了检查步骤
    T*(){检查(); h.();}//取原指针
    //多加了一步检查
     符号==( T&o){ o.h==h;}
     符号!=( T&o){ o.h!=h;}
    T*符号->(){检查(); h.();}
    //重载->,这里也多检查了一步
};
//只多做一步,类似这里的`检查`,但就得重新写类.
内联 独包<环境>安连接( *ip, 端口){
     连接(ip,端口);
}//原来直接返回(环境*),现在用`独针<环境>`了.

 (){
     c=安连接(ip,端口);
    回复 r=命令(c(),"取标识");
    //这个命令也得用相应的安全版本.
    打印(r->);
}//通过RAII保证安全,重载指针访问符保证方便,访问指针时做检查保证不出错,避免外部检查.还可加额外控制策略如写日志.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值