(2) 每个线程都有一个自己的栈,因此每个线程的函数调用执行是相互不受影响的;
(3) C和C++中的函数参数的入栈顺序一般是从右到左进行;
(4) C++中的函数的参数的传递一般有指针、传值和引用三种方式;
(5) C和C++中函数的返回值一般都是保存到EAX寄存器中返回的;
(6) C和C++中函数中寻址参数和局部变量,一般都是通过EBP寄存器加上偏移来进行的,如参数一般是:[EBP+XX],而局部变量则一般是:[EBP-XX];
(7) 在程序运行时,EBP中的值一般是指向当前的函数调用帧,而ESP一般指向栈顶。
如果对上面论述有不太清楚或不太熟悉的朋友,建议先看看专门讲述C++设计和编程方面的书籍。下面给出一个线程运行期间,它栈中所保存的数据的布局(部分片段),如下图:

总结
(1) 与函数的参数的传递类似, C++的异常对象的传递也分指针、传值和引用三种方式;
(2) 与函数的参数的传递不同的是,异常对象的传递是向上逆序的,而且是跳跃式的。