在第316页的程序中,像下面语句这样调用insert是否合法?如果不合法,为什么?

it2024-08-19  44

在第316页的程序中,像下面语句这样调用insert是否合法?如果不合法,为什么?

iter = vi.insert(iter, *iter++);

不合法。虽然上面语句可以正常运行,但是由于在C++中并没有指定函数形参的入栈顺序,因此可能是先输入iter这个形参,或是先输入*iter++这个形参。对于这两种情况而言,得到的结果将会不同。

因此是不合法的。

最新回复(0)