Книга, которую я читаю, Введение в структуры данных со связанными списками (Презентация 21), имеет 2 примера связанных списков. Вот первый:
EnemySpaceShip* getNewEnemy ()
{
EnemySpaceShip* p_ship = new EnemySpaceShip;
p_ship->x_coordinate = 0;
p_ship->y_coordinate = 0;
p_ship->weapon_power = 20;
p_ship->p_next_enemy = p_enemies;
p_enemies = p_ship;
return p_ship;
}
Второй пример связанных списков:
EnemySpaceShip* addNewEnemyToList (EnemySpaceShip* p_list)
{
EnemySpaceShip* p_ship = new EnemySpaceShip;
p_ship->x_coordinate = 0;
p_ship->y_coordinate = 0;
p_ship->weapon_power = 20;
p_ship->p_next_enemy = p_list;
return p_ship;
}
Затем книга пишет следующее:
Обратите внимание, что эта функция отличается от
getNewEnemy
, потому что возвращает указатель на список, а не новый враг.
Я не понимаю, что он означает, что "вторая функция возвращает указатель на список" и "первая функция возвращает нового врага". Я думал, что они создали нового врага под названием p_ship
(который является и указателем, и новым врагом), и возвратили его. Что подразумевается под этим утверждением?