有人可以解释这行代码吗?
Can someone explain this line of code?
void Player::removeWeapon(int location)
{
if (location<(int)weaponInCharacter.size()) {
weaponInCharacter.erase(weaponInCharacter.begin() + location);
}
}
我不确定以下行:
if (location<(int)weaponInCharacter.size()) {
我可以看到它将 int 位置与矢量中的位置进行比较 武器InCharacter 但是它在代码的这一部分中的 int 和矢量之间做了什么:(int)武器InCharacter.size())
(int)
只是将值转换为int
的旧 C 样式转换。
这是一个非常常见的成语。size
的返回值是 size_t
,它是无符号的。当你尝试将其与已签名的int
进行比较时,许多编译器会给出警告。要消除警告,您只需将size_t
投射到int
,一切就会好起来,只要您知道 size
返回的值适合int
。返回值不适合int
的情况非常罕见。
相关文章:
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 有人能为我解释一下C++代码吗
- 请解释字谜的代码,我看不懂计数器数组,每个值已经是0
- 有人可以解释一下这段代码如何能够反转字符串
- 有人可以向我解释一下这段代码的作用吗?
- 有人可以详细解释这个回文代码是如何工作的吗?
- 如何在 C++11 中解释静态代码
- 任何人都可以解释一下我是否需要 & 在第一个代码片段中
- 我不完全确定此代码的行为.有人可以向我解释一下吗?
- 有人可以解释我这个代码吗?它给出与我们输入的数字相反
- 我在 2D 数组的动态内存分配中遇到了一些奇怪的代码C++? 请解释一下这是什么?
- 解释以下宏代码的 O/P
- 如何解释 IDA Pro 生成的这些代码?
- 有人能给我解释一下下面的模板代码吗
- 按位 - 代码解释
- 有人可以根据此代码解释起床和降低语法
- 用于人脸检测的Haar级联xml文件代码解释OpenCV
- 代码解释 C++ [结构 / 两个 diamentinal 数组 / 指针]
- int到二进制代码解释C++
- c++代码解释