嵌入式每日学习心得2017.08.03
2017-08-03 23:30
309 查看
申请堆区:
C语言函数: malloc(长度)申请堆区 free()
C++申请与释放堆区运算符:new delete
申请堆区
1申请类型空间
new 类型(初始化值)
释放
free 地址
2申请数组空间:
new 类型[长度];
释放空间
delete []地址;
3申请对象空间
new 类名(值。。。);
成员变量:
1、普通变量
2、指针变量
析构函数:当对象释放时(系统会回收对象空间),先向对象发送消息来通过此对象处理释放之前的动作。
(关闭,释放。。。)
~类名()
注:1、没有返回值 2.没有重载 3当对象释放时,会自动通知 4用户不自定义析构 ,编译器会自动添加析构 函数(空析构 ) 4最好不要手动调用
拷贝:
浅拷贝
1、默认拷贝构造函数:只是简单将数据区赋值
类名(类名&d)
{
*this=d
}
深拷贝
2、一当成员变量出现指针变量时,不能简单拷贝。而是先拥有等量的空间,再将指向的空间赋值。
//深拷贝:只在有指针变量时
data::data(data& d)
{
this->buf=new char[strlen(d.buf)+1]; //先申请空间
strcpy(this->buf,d.buf); //再赋值
}
字符串类型:
C语言字符串: "hello world" char buf[100]="hello world";
字符串处理函数: strstr strch strtok...
C++字符串类: String
(成员变量,方法)
实例化:
String s;
注:头文件 string
C语言函数: malloc(长度)申请堆区 free()
C++申请与释放堆区运算符:new delete
申请堆区
1申请类型空间
new 类型(初始化值)
释放
free 地址
2申请数组空间:
new 类型[长度];
释放空间
delete []地址;
3申请对象空间
new 类名(值。。。);
成员变量:
1、普通变量
2、指针变量
析构函数:当对象释放时(系统会回收对象空间),先向对象发送消息来通过此对象处理释放之前的动作。
(关闭,释放。。。)
~类名()
注:1、没有返回值 2.没有重载 3当对象释放时,会自动通知 4用户不自定义析构 ,编译器会自动添加析构 函数(空析构 ) 4最好不要手动调用
拷贝:
浅拷贝
1、默认拷贝构造函数:只是简单将数据区赋值
类名(类名&d)
{
*this=d
}
深拷贝
2、一当成员变量出现指针变量时,不能简单拷贝。而是先拥有等量的空间,再将指向的空间赋值。
//深拷贝:只在有指针变量时
data::data(data& d)
{
this->buf=new char[strlen(d.buf)+1]; //先申请空间
strcpy(this->buf,d.buf); //再赋值
}
字符串类型:
C语言字符串: "hello world" char buf[100]="hello world";
字符串处理函数: strstr strch strtok...
C++字符串类: String
(成员变量,方法)
实例化:
String s;
注:头文件 string
相关文章推荐
- 嵌入式每日学习心得2017.08.08
- 嵌入式每日学习心得 线程
- 嵌入式每日学习心得2017.08.14
- 嵌入式每日学习心得2017.07.10
- 嵌入式每日学习心得 网络通信技术(TCP)
- 嵌入式每日学习心得2017.07.17
- 嵌入式每日学习心得2017.08.01
- 嵌入式每日学习心得2017.07.25
- 嵌入式每日学习心得2017.08.17
- 嵌入式每日学习心得2017.07.11
- 嵌入式每日学习心得 基于TCP/IP的聊天室程序
- 嵌入式每日学习心得2017.07.13
- 嵌入式每日学习心得2017.07.26
- 嵌入式每日学习心得2017.07.12
- 嵌入式每日学习心得2017.07.20
- 嵌入式每日学习心得2017.08.15
- 嵌入式每日学习心得 进程与线程
- 嵌入式每日学习心得2017.07.07
- 嵌入式每日学习心得2017.07.31
- 嵌入式每日学习心得2017.08.02