zhs_shz
作者zhs_shz·2013-06-26 12:01
工程师·深圳雁联

操作符与库函数

字数 563阅读 1034评论 0赞 0
操作符和库函数互混淆
在C语言中,sizeof是操作符而不是库函数
在C++语言中,类似的有 sizeof、typeid、new、delete和throw

sizeof与strlen、new/delete和malloc/free的比较
1、性质(机制)不同:前者为操作符,编译时操作;后者为库函数,运行时操作
2、操作对象不同:sizeof操作对象可以是类型和变量/常量,strlen只能是以结束的字符串
      new/delete在malloc/free基础上可以操作对象(类的实例)
3、操作结果不同:sizeof返回的是数据类型所占内存的大小,strlen返回的是除的字符串长度
      new/delete返回的是某种类型的指针,malloc/free返回的只是void指针

注意:sizeof和strlen操作数组时,strlen是数组退化成指针;
如何是数组退化?

类型的大小 sizeof(type);
对象的大小 sizeof object; //注意操作对象
(运行时)类型ID tpyeid(expr); //有何用?
创建对象 new object;
删除对象 delete object;
删除数组 delete [];
抛异常 throw;



如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

  • 函数与变量的声明和定义
    评论 0 · 赞 0
  • 系统级优化
    评论 0 · 赞 0
  • Oracle 诊断事件
    评论 1 · 赞 0
  • 优化常用工具
    评论 0 · 赞 0
  • SQL学习
    评论 0 · 赞 0
  • X社区推广