C++11. Как работает функция swap(a, b)? Я понимаю, что она меняет значение переменных, но почему в качестве аргументов принимает не адрес на переменную?
Ответы
Ответ дал:
0
Ничего себе информация в 5-9 классах. )
В описании std::swap не указано, что функция должна принимать аргумент типа адрес. В аргументах есть только ссылка на шаблон. Вы передаете значение по ссылке.
template< class T >
void swap( T& a, T& b );
В описании std::swap не указано, что функция должна принимать аргумент типа адрес. В аргументах есть только ссылка на шаблон. Вы передаете значение по ссылке.
template< class T >
void swap( T& a, T& b );
Ответ дал:
0
Я не очень понял. Передаю я swap аргументы a и b, равные 1 и 2. Процедура получила только значения, но не адрес обмениваемых переменных. Как она присвоит им новое значение, если не знает куда?
Ответ дал:
0
Процедур в С++ нет. Всё функции. Вы передаёте значение по ссылке. По ссылке и присвоится новый результат в переданные аргументы.
Вас заинтересует
1 год назад
2 года назад
2 года назад
8 лет назад
8 лет назад
8 лет назад
8 лет назад