c++使用每个元素引用初始化数组?

标签 c++ arrays pointers pass-by-reference

我是一个c++初学者,我想初始化一个数组,让数组的元素实际上是对一个变量的引用。

string string_1;
string string_2;
string strings[2] = {&string_1, &string_2};

这是允许的吗?那么对数组所做的任何操作都将应用于变量 string_1string_2 本身?

最佳答案

你可以模拟一个引用数组:

using s_ref = std::reference_wrapper<std::string>;
s_ref strings[] = { std::ref(string_1), std::ref(string_2) };

或者只使用指针(这正是 reference_wrapper 在下面所做的)。

关于c++使用每个元素引用初始化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557671/

相关文章:

c++ - 访问二维数组时读取冲突

c++ - 如何从 flatbuffers 中获取 union 结构的 void* 值反序列化的大小

android - 查询sqlite数据库并将所选数据存储到二维数组中

c - 修改代码以通过引用传递

arrays - Julia:数组是否包含特定的子数组

javascript - 如何使数组在Javascript中的不同函数下可访问?

Java 枚举返回 Null

C++11:对 const、volatile、左值引用和右值引用限定的成员函数指针进行抽象?

c++ - 获取节点在rapidjson中的偏移量?

c++ - 将文本文件读入整数数组