既然你专门要求C++,你就可以做到
pair< int, bool > safe_div( int lhs, int rhs ) {
if ( rhs == 0 || lhs == INT_MIN && rhs == -1 ) return make_pair(0, false);
else return make_pair( lhs/rhs, true );
}
Run Code Online (Sandbox Code Playgroud)
交替地 boost::optional
optional<int> safe_div( int lhs, int rhs ) {
if ( rhs == 0 || lhs == INT_MIN && rhs == -1 ) return optional<int>();
else return lhs/rhs;
}
Run Code Online (Sandbox Code Playgroud)
我假设你想要一个整数运算,我添加了一个溢出检查.
| 归档时间: |
|
| 查看次数: |
2736 次 |
| 最近记录: |