#arrays #variables #language-agnostic
#массивы #переменные #не зависит от языка
Вопрос:
## Pseudocode
variable1 = 1
variable2 = 2
array = { variable1, variable2 }
print array
## output: {1, 2}
variable1 = 5
variable2 = 6
print array
## desired output: {5, 6}
Есть ли какой-либо способ сделать это?
Если есть, пожалуйста, отправьте ответ на выбранном вами языке.
Комментарии:
1. Вопрос типа Make-a-list. Мне кажется, это «неконструктивно» .
Ответ №1:
В C вы можете эмулировать это:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int variable1 = 1;
int variable2 = 2;
vector<int*> array = { amp;variable1, amp;variable2 };
for (auto i = array.begin(); i != array.end(); i)
cout << **i << endl;
variable1 = 5;
variable2 = 6;
for (auto i = array.begin(); i != array.end(); i)
cout << **i << endl;
return 0;
}
выводит
1
2
5
6
Комментарии:
1. Это не ограничивается C , любой язык с доступом к указателям может использовать этот метод.
2. @Брайан: да. Кроме того, в таких языках, как Java / C #, вы не можете хранить ссылку на переменную в массиве, вам нужно будет упаковать их в объект контейнера.
3. @Vlad: Какие контейнеры в Java / C # могут содержать ссылки на переменные?