how come pass by value doesnt reset an array back to its global while an int pass by value resets back even if you change it in the function? example, items_ordered becomes 0 when i return even though i added 1 but the array doesn't become back to how it started before the function was called. i know if i pass items_ordered by reference it would change
#include <iostream>
using namespace std;
void meal(char menu_1[], int order);
int main()
{
char menu_order[50];
int items_ordered = 0;
meal(menu_order, items_ordered);
cout<<items_ordered<< menu_order;
return 0;
}
void meal(char menu_order[50],int items_ordered)
{
cout<< "please enter an item to order\n";
cin.get(menu_order, 50, '\n'); cin.ignore(100,'\n');
items_ordered += 1;
}