gpt4 book ai didi

C++ const 正确性和 const 成员

转载 作者:行者123 更新时间:2023-11-30 03:03:09 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Does const-correctness give the compiler more room for optimization?

在过去的几周里,我开发了一种方法,可以让我所有的非静态成员都成为const,以避免意外的编程错误。然而,这种做法提供了一些巨大的缺点,特别是对于实体对象,因为例如如果他们选择直接聚合这样一个实体对象而不是使用指针,他们将永远无法再调用赋值运算符。

我的问题是这个 const 成员哲学是否提供任何编译器优化奖励。

class User {
public:
User(const std::string &, const std::vector<unsigned char> &);
~User();
const std::string &getName() const;
const std::vector<unsigned char> &getPasswordHash() const;
private:
std::string name;
std::vector<unsigned char> passwordHash;
};

如果这个 class 的成员是 const,它会为我的编译器提供任何重要的优化可能性吗?考虑到其他类通常会聚合非常量 User 对象,但我几乎所有的算法都会接受 const User &?

那么 const 成员是否为已经存在的 const User & 思想提供了任何重要的优化机会?是否可以证明使用 const User * 聚合并根据更改重建对象而不是使用赋值运算符?

感谢您的快速评论!

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