gpt4 book ai didi

c++ - 有效地 const_cast-ing 常量引用参数

转载 作者:可可西里 更新时间:2023-11-01 18:05:33 26 4
gpt4 key购买 nike

我有一个成员函数,它接受另一个对象的常量引用参数。我想 const_cast 这个参数以便在成员函数中轻松使用它。为此,以下哪个代码更好?:

void AClass::AMember(const BClass & _BObject)
{
// FORM #1 - Cast as an object:
BClass BObject = const_cast<BClass &>(_BObject);
// ...
}

void AClass::AMember(const BClass & _BObject)
{
// FORM #2 - Cast as a reference:
BClass & BObject = const_cast<BClass &>(_BObject);
// ...
}

你能比较一下这两种形式吗?哪个在速度和内存使用标准方面更好?

最佳答案

第一个版本复制对象。第二个版本没有。所以第二个版本会更快,除非你想复制。

顺便说一句,所有以下划线开头后跟大写字母的标识符都保留供编译器使用。您不应该使用像 _BObject 这样的变量名。

关于c++ - 有效地 const_cast-ing 常量引用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8004283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com