C++ 返回对象

标签 c++ pointers object

我有一个包含对象 vector 的类。我需要做什么才能返回该对象之一并在类之外更改它并保留更改?可以用常规指针来做吗?有标准程序吗? (是的,我的背景是 Java。)

最佳答案

你的问题有点模糊,但这里有一个例子:

class foo
{
public:
    foo()
    {
        vec.resize(100);
    }

    // normally would be operator[]
    int& get(size_t pIndex)
    { // the return type is a reference. think of it as an alias
        return vec[pIndex]; // now the return value is an alias to this value
    }

private:
    std::vector<int> vec;
};

foo f;
f.get(10) = 5;
// f.get(10) returned an alias to f.vec[10], so this is equivalent to
// f.vec[10] = 5

常见问题解答有一个很好的section on references .

此外,如果您是 C++ 新手,请不要尝试使用在线资源进行学习。如果你还没有书,you should ,它们确实是学习语言的唯一好方法。

关于C++ 返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659318/

相关文章:

java - 将 JDBC 的结果集加载到二维表中

Javascript:如何从点分隔的字符串创建对象?

c++ - 为什么比较运算符这么快?

c++ - Numpad 键事件导致 GetKeyboardState 卡住键

android - 如何在 Android 设备上直接将简单的 C++ 程序作为可执行文件运行?

c++ - 为什么 "pointer=pointer+i"得到了一种随机值

c - 传递一个二维结构数组

指针和多维数组的 C++ 双重间接寻址

JavaScript 奇怪的对象

c++ - 为随机和用户输入的 C++ 代码处理命令行参数