Например, у нас есть два массива: SourceArray и DestinationArray. В Visual Foxpro для копирования одного массива в другой массив, если у нас есть имя SourceArray в виде строки (которая будет «SourceArray»), мы можем выполнить копирование с помощью «&»как следует.
fox code:
lcArrayname="SourceArray"
ACOPY(&lcArrayname, DestinationArray)
Кто знает, как я могу сделать это в Visual C ++? Пожалуйста помоги.
C ++ не поддерживает «отражение» или способность находить программные объекты во время выполнения (используя их имя или обход иерархии классов и т. Д.). Чтобы скопировать содержимое одного массива в другой, вы должны иметь под собой и исходный, и целевой массив в качестве переменных.
Вы можете смоделировать эту возможность, создав структуру данных, снабженную строкой. Например, используя STL:
map< string, vector<int> > myVectors;
Это создает карту, которая принимает строку в качестве ключа и возвращает вектор целых чисел. Таким образом, вы можете сохранять векторы в карте, заданные строковым значением, и искать массивы позже на основе этой строки.
Других решений пока нет …