lua 小知识
2016-07-02 15:46
405 查看
1.编写类String的构造函数,析构函数和赋值函数,已知类String用成员变量char* _str
来保存字符串
//普通的构造函数
String::String(const char* str)
{
if(str == NULL)
{
_str = new char[1];//对空字符串自动申请存放‘\0’的空间
*_str = '\0';
}
else
{
int length = strlen(str);
_str = new char[length+1];//若能加NULL判断则更好
strcpy(_str,str);
}
}
//String 的析构函数
String::~String(void)
{
delete[]_str;
}
//拷贝构造函数
String::String(const String &other)//输入参数为const型
{
int length = strlen(other._str);
_str = new char[length+1];//对_str加NULL 判断
strcpy(_str,other._str);
}
//赋值函数
String & String::operate = (const String &other)
{
if(this ==&other)
{
return *this;
}
delete[]_str;
int length = strlen(other._str);
_str = new char[length+1];
strcpy(_str,other._str);
return *this;
}
2.c语言的strcpy函数
char * strcpy(char*strDest,const char*strSrc)
{
assert((strDest!NULL)&&(strSrc!=NULL));
char*address= strDest;
while((*strDest++=*strSrc++)!='\0')NULL;
return address;
}
来保存字符串
//普通的构造函数
String::String(const char* str)
{
if(str == NULL)
{
_str = new char[1];//对空字符串自动申请存放‘\0’的空间
*_str = '\0';
}
else
{
int length = strlen(str);
_str = new char[length+1];//若能加NULL判断则更好
strcpy(_str,str);
}
}
//String 的析构函数
String::~String(void)
{
delete[]_str;
}
//拷贝构造函数
String::String(const String &other)//输入参数为const型
{
int length = strlen(other._str);
_str = new char[length+1];//对_str加NULL 判断
strcpy(_str,other._str);
}
//赋值函数
String & String::operate = (const String &other)
{
if(this ==&other)
{
return *this;
}
delete[]_str;
int length = strlen(other._str);
_str = new char[length+1];
strcpy(_str,other._str);
return *this;
}
2.c语言的strcpy函数
char * strcpy(char*strDest,const char*strSrc)
{
assert((strDest!NULL)&&(strSrc!=NULL));
char*address= strDest;
while((*strDest++=*strSrc++)!='\0')NULL;
return address;
}
相关文章推荐
- lua计算 字符串宽度(中文英文混合)
- lua loadfile dofile require
- 【记录】eLua初体验
- lua热更新都能更新什么
- LNK1104: 无法打开文件“lua51.lib”
- OpenResty学习笔记(八) lua高阶之面向对象编程
- 系列1—BabeLua入门
- do Lua语言学习(二) end
- Uniyt热更新——LuaFrameWork学习(二)按钮点击事件
- 纯lua脚本搜索算法优化
- mac-os关于Lua5.1的安装
- do Lua语言学习(一) end
- lua 获取时间的 os.date时区问题 需要注意的
- [置顶] lua os.xxx()函数使用
- 对lua继承中self.__index = self的释疑
- 机器学习模型评价(Evaluating Machine Learning Models)-主要概念与陷阱
- Lua中的模块(module)和包(package)详解
- Torch 框架下的 imagenet 图像分类
- OpenResty学习笔记(七) lua高阶之元表
- C填充一个Lua表