小编KKO*_*nge的帖子

使用*this初始化一个类有什么后果吗?

在我写的一个小游戏中,我有一个Weapon带有两个构造函数的类,一个用于获取一些参数来生成一个自定义武器,另一个用于获取一个默认武器CHAIN_GUN:

Weapon::Weapon (void) {
    // Standard weapon
    *this = getWeapon(CHAIN_GUN);
    return;
}
Run Code Online (Sandbox Code Playgroud)

问题:使用*thisoperator=初始化课程是否会产生任何负面影响?

c++ initialization this

30
推荐指数
3
解决办法
1488
查看次数

const对unsigned int的casted int的引用

我在理解此代码段中的行为时遇到了一些麻烦:

unsigned int i = 2;
const int &r = i;
std::cout << r << "\n";
i = 100;
std::cout << r << "\n";
Run Code Online (Sandbox Code Playgroud)

第一个print语句按预期给出2,但是当我更改引用变量的值时,它不会反映在引用中.第二个印刷声明也给出2,但我认为它应该给100?

如果我将变量i变为类型int而不是unsigned int,它就像我期望的那样工作.这里发生了什么?

实例

c++ const reference const-reference

19
推荐指数
2
解决办法
730
查看次数

标签 统计

c++ ×2

const ×1

const-reference ×1

initialization ×1

reference ×1

this ×1