
内存
丸子哥哥
动手,动手,多动手
展开
-
C语言中的goto,及BUG
C语言中goto的使用及goto中的一个BUG:① 当循环有多层时,用goto跳出指定一层。② 异常处理。goto语句中的一个BUG:请看下图,是个死循环 编译器扫描代码时是一行一行的,当扫描有没有返回值时,是扫描有没有跟return匹配的字符,用了goto语句巧妙的跳过了return语句,但是在.cpp文件中会发现是个死循环。原因所在: 是因为编译器会删除无用的代码,同时...原创 2017-07-17 21:35:41 · 1540 阅读 · 0 评论 -
多图--两种方法----C++改变常成员函数(Const)的值
常成员函数: <1> 成员函数后面加了const。<2> 不能修改类的成员,不能对它赋值,只是一个可读函数。提高程序的可读性,可靠性。如图,fun函数是常成员函数: 将i的值改为100,则会报错: 第一种修改方法:用mutable关键字: 看效果:第二种修改方法:用this指针: 有什么问题欢迎留言!~~~~...原创 2018-05-06 16:21:16 · 2414 阅读 · 0 评论 -
C++构造函数和析构函数总结
构造函数: <1>作用:赋初值,初始化对象的数据成员,由编译器帮我们调用。 <2>特点:①函数名和类名一样。②没有返回值。③支持有参/无参。④可以重载。 <3>调用时机:在类的对象创建时刻,编译器帮我们调用构造函数。当我们自己提供了构造函数的话,编译器就不会给默认构造函数了。如图,自己调用构造函数: 析构函...原创 2018-05-07 12:18:25 · 6546 阅读 · 0 评论 -
C++分析New和Delete----C语言Malloc和Free
C++中为什么不用Malloc和Free,而用New和Delete? <1> 如图: 类的对象在堆上分配的时候用malloc和free: 我们观察发现虽然在堆上申请空间了,但并没有调用构造函数和析构函数。 发现并没有调用我们自己写的构造和析构函数: <2> 用New和Delete观察: 我们会发现构造函数和析构函数都调用了:...原创 2018-05-07 14:02:26 · 1224 阅读 · 0 评论