c++ - 通过引用访问 const 的语法

标签 c++ constants accessor

现在我的实现按值返回事物。成员 m_MyObj 本身不是 const - 它的值根据用户使用组合框选择的内容而变化。我不是 C++ 大师,但我想正确地做到这一点。如果我只是在两个声明中的 GetChosenSourceSystem 前面粘贴一个 &。并且暗示。,我得到一种编译器错误。如果我做了一个而不是另一个 - 另一个错误。如果我执行 return &m_MyObj;。这里暂时不列出错误,除非有强烈的需求。我假设有经验的 C++ 编码人员可以知道这里发生了什么。我可以省略 constness 或 reference,但我想使其紧凑并在此过程中学习。

// In header file
MyObj GetChosenThingy() const;

// In Implementation file.
MyObj MyDlg::GetChosenThingy() const
{
    return m_MyObj;
}

最佳答案

返回的对象必须是const,所以你不能从外部改变它;

// In header file
const MyObj& GetChosenThingy() const;

// In Implementation file.
const MyObj& MyDlg::GetChosenThingy() const
{
    return m_MyObj;
}

关于c++ - 通过引用访问 const 的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647796/

相关文章:

C# 等效于 C++ ostream::tellp 用于磁盘上的大小限制

Objective-C::使用方法来改变对象

php - Laravel Accessors 和 Mutators 不适用于 Camel Case 表字段名称

C# - Get 和 Set 访问器中的树/递归?

C++ 成员引用基类型 'Vertex *const' 不是结构或 union

c++ - 为嵌套自定义类型定义散列函数

c++ - 如何从 std::locale 获取 LCID

c++ - 在不同的头文件中使用相同的 typedef 并将它们包含在主程序中

c# - 将条件值分配给静态类的类成员

c - 在 C 中将 & (addressof) 与 const 变量一起使用