编写一个类似于 Vector.at() 的方法
Write a Method like Vector.at()
我想知道.at()方法是如何工作的,就像C++的Vector类中的方法一样,该方法双向返回和/或为数组的成员赋值。我不知道我是否可以使用宏来做到这一点,或者声明 2 个同名方法......有什么帮助吗?
我一直在尝试查找并打开 Vector 的文件,看看它是怎么写的,那个特定的方法,但我还没有找到它。
(它适用于我正在构建的不同结构,但我想只用一种方法访问它们)
我的意思的例子。
vec.at(x) = value;
newValue = vec.at(x);
您必须返回对该值的引用。所以而不是
int at(int idx)
你只是做
int& at(int idx)
引用与指针非常相似,不同之处在于您不能也不必取消引用它们来操作它们所引用的值
应该有一种简单的方法来打开 IDE 中的任何源文件。 我一直使用这个功能来查看标准库,特别是当想要查看 std::vector
、std::map
、std::list
等成员函数的签名时,而不必打开浏览器窗口。
希望使用的 IDE 具有类似于"在光标处打开文件"的内容。 由于问题内容不知道 IDE,因此提出了一个更通用的过程。
1) 确保相关标题名称位于#include
行中。 例如:
#include <vector>
2) 移动编辑器光标,使光标清晰地显示在头文件名的某个部分下(例如 vector
)。
3) 在 IDE 中运行"在光标处打开文件"命令。
4) IDE 现在应该在其自己的窗口/选项卡中显示光标突出显示的文件,并且无需手动导航到开发系统上所有头文件所在的区域。
5)根据需要搜索新打开的文件。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 重载 std::vector::at 赋值运算符
- 在 vector::at 返回引用后进行更改
- 使用 std::vector<Particle> 粒子;函数 .at() 不能与迭代器一起使用,它作为 for 循环中的参数
- .at() 应该在 std::vector 或 std::array 中的 [] 上使用吗?
- 如何绑定到vector<>::at?
- Vector::at vs. vector::operator[] -- 不同的行为
- std::vector 的 .at() 函数到底有什么作用?
- 使用下标运算符进行Integer Vector元素比较失败,但使用at函数成功
- vector::at vs. vector::operator[]
- 结构的 C++ 向量,为什么我不能使用 vector.at(i) 或 vector[i] 作为结构?
- std::vector运算符[]与at()访问
- Vector.at()阻塞,尽管索引远远低于容量
- 使用std::vector和.at()检查2D数组边界
- 使用std::vector::at或std::vector::operator[]访问vector:中存储的对象
- 我应该在代码中使用std::vector::at()吗
- 根据编译开关/NDEBUG,在std::vector的at()和操作符[]之间进行交换
- 编写一个类似于 Vector.at() 的方法