C++中有无数的坑,但毕竟-- 今天就踩到了,也算是基本问题了,记录一下,顺便以后可以考考自己.你也可以猜猜答案,大牛绕行. 0x1 先看这个: #include <stdio.h> #include <stdlib.h> class App { public: ~App() { printf("\n~App\n"); } void output() { printf("A"); } }; class Bpp : public App { p…
new 分配内存,返回指针 new 类型名T (初值列表) 功能:申请用于存放T类型对象的内存空间,并依初值列表赋以初值 结果值: 成功->T类型的指针,指向新分配的内存 失败->0(NULL) int *pl = new int; int *pl = new int(10); 注意与malloc的区别 malloc(m):开辟m字节长度的地址空间,并返回这段空间的首地址. sizeof(x):计算变量x的长度. free(p):释放指针p所指变量的存储空间,即彻底删除一个变量. delete…
new一个类的时候,调用这个类的构造函数,然后在这个类的生命周期内可能会动态生成很多指向堆上的内存,所以应该在析构函数里回收这些内存: 当delete这个类的时候,会首先调用这个类的析构函数,即回收生命周期内的内存,然后再回收这个类对象在堆上的内存…
1.Number()将部分非数字类型转换为0 强制转换为数值类型函数: parseFloat.parseInt 优点:对非数值类型统一返回NaN 缺点:会将一部分符合数值类型的字符串也识别为数值 parseFloat("1")//1 parseFloat("1s")//1,不是想要的 parseFloat(null)//NaN parseFloat(undefined)//NaN parseFloat("")//NaN Number 优点:对于字…
下面的内容要说明两个问题:1. 基类的析构函数为什么要加上Virtual--防止内存泄露 1. 基类虚构函数无virtual,派生类无法析构,会导致内存泄露 #include <stdio.h> class Base { public: int a; Base(){ a=0; } ~Base(){ printf("base delete"); } virtual void setA()=0; }; class A:public Base { public: A(){ a =…
//默认复制构造函数的不足//尽管有默认的复制构造函数来解决一般对象与对象之间的初始化问题, 但是在有些情况下我们必须手动显式的去定义复制构造函数, 例如: #include <iostream>using namespace std; class Book{ private:  char *book_name; public:  Book(const char *name)//构造函数  {   cout << "构造函数分配内存" << endl…
看mossle的 5.16 用户手册中的  快速起步:10分钟教程 想自己跑一下,虽然官方文档已经写的非常详细了,但是实际操作中还是遇到各种坑,这里记录下来. 首先官网下载最新的 5版本 full Guide 方法如下: 百度搜索 activiti,点 往下拉页面, 点 no thanks continue,跳转页面到: 往下拉页面,找到 点 5.x Full Guide连接,点进去 点图中红框部分下载. ============================== 下载解压后,得到这个目录:…
在该示例中我们显式定义了复制构造函数来代替默认复制构造函数, 在该复制构造函数的函数体内, 不是再直接将源对象所申请空间的地址赋值给被初始化的对象, 而是自己独立申请一处内存后再将源对象的属性复制过来, 此时book1对象的 book_name 与 book2 对象的 book_name 就是指向两处不同的内存单元, 这样即便是源对象 book1 被销毁后被初始化的对象book2也不会再受到影响. #include <iostream>using namespace std; class bo…
转自:http://blog.csdn.net/chenzujie/article/details/7011639   先来看两段小程序: 1). #include <iostream.h> #include <String.h> void main(void) { char *str1 = "just have fun"; char *str2 = "happy day"; char *sTmpPtr = new char[255]; ch…
单 大家对命令菜单(Command Menu)应该都不陌生.目前主流的编辑器中都内置了对该功能的支持.在 Sublime Text 和 Visual Studio Code 中你都可以通过快捷键 Ctrl + Shift + P 呼出命令菜单(在 Mac 上是 Cmd + Shift + P). 在呼出的菜单中输入关键字选择自己需要的命令(支持模糊搜索哦),按回车即可执行命令.极大的提高了效率. 举个例子,以下的操作是为文件设置 JavaScript 的语法高亮: 很方便吧. 如果你已经习惯了这…