你以为的古代城市城防图。不是环山就是环海,城内人民安居乐业,自给自足,哪怕数万大军围困上三年五年,也不妨碍城里人正常生活。但是,君士坦丁堡全世界才有几个?以及,君士坦丁堡也不是孤城一座,还可以收两个海峡的过路费(博斯普鲁斯海峡,达达尼尔海峡)。
实际的古代城防图。城墙只能包住少数行政机关,甚至依山而建,只是为了占据一个交通枢纽的点或者控制一条补给线。大多数的城市居民都住在城下町(信长野望)或者城市周边的地块里(文明、三国志)。城门每天都要开关,方便人员和物资交流。
真要是长期围城,短期内粮食就算足够(可以提前运进城,一般的粮食存储个两三年问题不大),水源是个大问题。破坏水源的方法太多了,下毒,扔尸体(人和动物)那都是常规操作,本来城市就建在地势高的地方,取水就非常麻烦。城市建在地势低的地方,那更好办了,直接放水淹城如何?一旦城内死人过多,瘟疫就容易流行起来,士兵战斗力下降到一定程度,城破是早晚的事情。
以及,守城所需的物资:药品、动植物、兵器、马匹、草料之类,在城里无法补充或者只能部分补充,死守待援一般都是最消极的战法。
孟良崮战役其实也可以算一场小型的守城战役,把山当做城市,死守根本没有前途。
而出城迎战的好处就很明显了:
一,可以防止被围城。
不打怎么知道一定会输,万一赢了呢?打不赢再回城死守也来得及。
二,可以维持一定的生活资源获取。
出城作战可以保卫城下町,保卫城市居民。
三,还可以突围。
打不过的部队还可以突围,去寻找援军。
四,增加对方的进攻成本。
出城作战,对面起码要派出野战部队,死守城市,人家拿点卫戍部队就打发了。野战部队的战斗力比卫戍部队强了不止数倍。
五,保持城下的军事存在,可以防止对方的攻城器械靠近。
攻城器械不光能破坏城墙和城门,还可以往城里扔各种东西(蒙古人喜欢往城里扔尸体),细菌战也是很厉害的。
影视剧里,放下吊桥,出城作战,也是有一定道理的。
总结,除非是没有办法了,防守方一定会先出城作战的,打不过再回城也来得及。