zoukankan      html  css  js  c++  java
  • 程序员面试宝典 笔记(第六章 预处理 const 和sizeof())

     1 void main()
     2 {
     3     char *arr="0123456789";
     4     cout<<sizeof(arr)<<endl;//4
     5     cout<<sizeof(*arr)<<endl;//1
     6     char ss2[]="0123456789";
     7     cout<<sizeof(ss2)<<endl;//11
     8     cout<<strlen(ss2)<<endl;//10注意sizeof 和 strlen区别 strlen 检测到后停止
     9     cout<<sizeof(double)<<endl;//8
    10     cout<<sizeof(float)<<endl;//4 
    11     cout<<sizeof(long int )<<endl;//4
    12     cout<<sizeof(short int)<<endl;//2
    13     cout<<sizeof(unsigned long int)<<endl;//4
    14     cout<<sizeof(char)<<endl;//1
    15     cout<<sizeof(unsigned char)<<endl;//1
    16 
    17 }

    sizeof(空类)为1

    sizeof(虚继承)为4,因为涉及虚表(虚指针)

    内联函数:要做类型检查,这事内联函数比宏定义的优势。

    内联函数一般用在如下情况:

    (1)一个函数不断被重复调用

    (2)函数只有简单几行,且函数中不包含

    在C程序中 const 的用法主要是:

      1、定义常量 2、修饰函数形参 3 、修饰函数返回值  当定义前两种时可以理解为read-only

    const 和 #define相比有什么不同?

      1、const 常量有数据类型,而宏常量没有数据类型,编译器可以对前者进行类型安全检查,而对后者只有字符替换,没有类型安全检查,并且在字符替换中可能会产生意料不到的错误。

      2、有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。

  • 相关阅读:
    263邮箱配置告警发件配置
    交换机日期时间设置
    【Switch】- 配置日志文件输出syslog信息
    网络设备断电注意事项
    H3C交换机保存机制
    Docker学习笔记
    小型网络组网模型讲解
    Linux下管理员强行踢出用户的命令使用方法
    Linux SNMP 监控一些常用OID
    MySQL解决方案
  • 原文地址:https://www.cnblogs.com/mu-tou-man/p/3728158.html
Copyright © 2011-2022 走看看