c++ 中“”和NULL的注意事项
来源:互联网 发布:西昊电脑椅 知乎 编辑:程序博客网 时间:2024/06/08 02:50
首先明确,NULL在c++中只可以用来表示空指针,这一点和java不同!类似于std::string str = NULL 的代码都是错误的,可以编译通过但会在运行时出现runtime error。
char* s1 = NULL;//①
char* s2 = ""; //②
上述代码中:
①声明字符串指针s1并让它为空地址(即0)
②声明字符串指针s2并让它指向空字符串(含结尾处的\0)
检测方法:
char* str = “”:
1. if(strlen(str) == 0)
2. if(strcmp(str, “”))
char* str = NULL:
if(str == NULL)
注意:先判断是否为NULL,在判断是否“”。因为类似于strlen(NULL)和strcmp(str,NULL)的代码都是会引发段错误的。
By the way,“”和“\0”是不相等的,虽然strlen(“”)和strlen(“\0”)均为0。这也体现了strlen是以\0作为结束标志,但不将\0字符算入。
附带判断string 是否为“”的方法:
string str = “”;
1. if(str == “”)
2. if(str.empty())
3. if(str.length() == 0) 或 if(str.size() == 0)
!!c++中没有str.equals()和string.Empty,都是java中的,别搞混了。
阅读全文
0 0
- Oracle中NULL的注意事项和用法
- c++ 中“”和NULL的注意事项
- Java中有关Null的注意事项
- c和c++中NULL和0的区别
- C和C++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别?!
- objective c 中 NULL 和nil的区别
- C语言中 NULL和NUL的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- C语言中 NULL和NUL的区别
- C语言中 NULL和NUL的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Find the Duplicate Number
- iOS AppStore 审核驳回 关于 UIBackgroundModes 定位问题
- Latex Table 合并行/列详解
- spring data JPA 中带查询条件的分页in的用法
- 风口浪尖上的人工智能,为安防带了怎样的变化
- c++ 中“”和NULL的注意事项
- infoGAN阅读
- vue-cli快速构建项目>>>>及引入jquery、jquery插件、this的指向 mounted钩子函数应用
- 重构问题-分布式系统中启用事务在update引发的死锁
- 9.字符串的一些简单操作
- HttpClient的基本使用
- JZ2440存储控制器
- 树与二叉树的转换
- ibatis xml <> 不等号