Is the following an efficient and problem free way to convert an unsigned int to an int in C++:
#include <limits.h>
void safeConvert(unsigned int passed)
{
int variable = static_cast<int>(passed % (INT_MAX+1));
...
}
还是有更好的办法?
UPDATE
www.un.org/Depts/DGACM/index_spanish.htm 正如James McNellis所指出的,没有定义指定一个未签字的“t >”号;INT_max为一种分类,而是界定了这一执行。 因此,我现在特别想到的是,在未签名的电文超过INT_/2008/5时,确保这种电汇折价为零。
我有一些未经签名的暗中 s作为反.,但希望在某个具体案件中将其环绕成ger。
按照正常操作,这些计数将保持在INT_max的范围之内。 然而,如果出现异常(但有效)的情况,为了避免进入un Defin执行特定行为,我想在此作一些有效的转换。