4. struct编程注意事项看看下面的程序: 1. #include <iostream.h> 14行的输出结果是:a Why?我们在15行对instant2的修改改变了instant1中成员的值! 原因在于13行的instant2 = instant1赋值语句采用的是变量逐个拷贝,这使得instant1和instant2中的cMember指向了同一片内存,因而对instant2的修改也是对instant1的修改。 在C语言中,当结构体中存在指针型成员时,一定要注意在采用赋值语句时是否将2个实例中的指针型成员指向了同一片内存。 在C++语言中,当结构体中存在指针型成员时,我们需要重写struct的拷贝构造函数并进行“=”操作符重载。 |
正在阅读:C/C+语言struct深层探索C/C+语言struct深层探索
2005-08-11 10:30
出处:PConline
责任编辑:xietaoming
键盘也能翻页,试试“← →”键