一、前言 假设我们有一个Car类,用了表示一个车,它有id,名字,牌照等许多东西,还有一个表示车的部件CarPart。 但出于某方面的考虑,我们不打算在产生car这个对象的时候,就生产出这个车,你可以认为这个时候,只有一个纸糊的车摆在你的面前,它有id ...
一、前言
假设我们有一个Car类,用了表示一个车,它有id,名字,牌照等许多东西,还有一个表示车的部件CarPart。
但出于某方面的考虑,我们不打算在产生car这个对象的时候,就生产出这个车,你可以认为这个时候,只有一个纸糊的车摆在你的面前,它有id,有名字,有牌照,但是它不能动,只有我们打算启动这个车的时候,才去给这个车配置发动机,轮胎等各个部件。
二、错误代码1
//CarPart类 用了标识车内的各个部件
//Car类 用了标识车
我们定义了一个car类,它里面有一个_id标识这个car,也有一个_car来标识这个车的各个部件,在最开始的时候,_car指针是null,当我们调用getCar的时候,我们判断这个车是否创建好了部件,有的话就返回部件,没有的话,为这个车创建部件,至于具体的创建步骤,也许是在工厂制造,也许是从其他地方抢来的也有可能,然后返回车的部件
main函数
我们在一个循环里来创建car对象,创建这个车的部件,并把这个对象放进一个vector里,在这个循环里,我们只会循环一次,至于原因你在下面会看到
然后我们运行程序,刚开始看起来很正常,但是糟糕…程序出现了问题
g++ -g main.cpp -o main.out //(使用-g选项来生成调试文件)
./main.out
Start
原标题:一个C++bug引入的许多知识
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。