#include #include using namespace std; void foo(string s = "Hi") { s.append("..."); cout << s << endl; } int main() { foo(); foo(); foo("Yo"); foo(); return 0; } /* Assignment on each call (no reusing default values) Hi... Hi... Yo... Hi... */ /* Vs... >>> def foo(a, L=[]): ... L.append(a) ... print L ... >>> foo(1) [1] >>> foo(2) [1, 2] >>> foo(3, ['yo']) ['yo', 3] >>> foo(4) [1, 2, 4] >>> */