假設我有一個函數:自稱爲N次的C++遞歸函數?
int recursive(int NbProducts, int NbPlates, int NbPositions)
{ //the following is a recursive function that will call itself 3 times
//code to be repeated goes here
recursive(int NbProducts, int NbPlates, int NbPositions);
}
我想不通的是如何能夠讓函數知道遞歸數它的上,以及如何阻止它。任何有效和聰明的方法來做到這一點?如果有幫助,我使用boost算法。
最直接:將它作爲參數傳遞..你有任何簽名限制嗎? – 2014-10-29 12:46:04
通常遞歸調用有一些不遞歸的標準。在這種情況下,如果它確實是一個特定的計數而沒有其他標準,則可以將計數作爲參數傳遞(如@MarcoA所示)並在每次調用時遞減計數。當你看到它歸零時,那就是你沒有遞歸的時候。 – lurker 2014-10-29 12:48:31