写一个像Vector.at()的方法

时间:2014-04-06 23:19:35

标签: c++ vector structure

我想知道.at()方法是如何工作的,就像C ++的Vector类中的方法一样,这两种方法都返回和/或为数组成员赋值。 我不知道用宏可以做到这一点,或者用同名声明2方法......有什么帮助吗?

我一直试图找到并打开矢量文件,看看它是如何写的,那个特定的方法,但我还没有找到它。

(它用于我正在构建的不同结构,但我只想用一种方法访问它们)

我的意思的例子。

vec.at(x) = value;
newValue = vec.at(x);

2 个答案:

答案 0 :(得分:5)

您必须返回对该值的引用。而不是

int at(int idx)

你刚才

int& at(int idx)

引用与指针非常相似,区别在于你不能也不必取消引用它们来操纵它们引用的值

答案 1 :(得分:-2)

应该有一种简单的方法可以在IDE中打开任何源文件。我一直使用此功能来查看标准库,特别是在想要查看std::vectorstd::mapstd::list等成员函数的签名时,无需打开浏览器窗口。

希望使用的IDE类似于“在光标处打开文件”。由于问题内容不知道IDE,因此提供了更通用的过程。

1)确保相关标题名称位于#include行。例如:

#include <vector>

2)移动编辑器光标,使光标清晰地显示在头文件名的一部分下(例如vector)。

3)在IDE中运行“在光标处打开文件”命令。

4)IDE现在应该在其自己的窗口/选项卡中显示光标突出显示的文件,并且无需手动导航到开发系统上所有头文件所在的区域。

5)根据需要搜索新打开的文件。