Как отредактировать конкретное поле класса и отдать этот экземпляр класса функции, не редактируя сам экземпляр класса?
Есть у меня код:
#include <iostream>
#include <queue>
struct point
{
int x;
int y;
};
int main()
{
queue<point> q;
point start{ 0, 0 };
q.push(start); //но я хочу отдать start = {x - 1, y}, то есть {-1, 0}
//при этом оставив значение {0, 0} в самой переменной.
}
То есть, что я хочу:
Отдать в аргументы функции push() - переменную start, но при этом хочу, чтобы поле start.x было каким либо образом изменено (в моем примере хочу уменьшить поле start.x на 1), но сама переменная start не менялась.
Возможно ли реализовать это?