【问题标题】:c++ initialize array with each element reference?c ++用每个元素引用初始化数组?
【发布时间】:2017-10-04 05:34:59
【问题描述】:

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

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

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

【问题讨论】:

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


【解决方案1】:

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

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

或者只使用指针(reference_wrapper 在下面确实是这样做的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多