zoukankan      html  css  js  c++  java
  • #define和const

    1.#define 和const都可以定义常量,但是#define定义仅仅是字符的替换,而const是带有类型的

    #define a 3

    const int b = 4;

    int w = a;//这句话会将a直接替换为3,需要一个临时空间来存储3,然后再把3赋值给w

    int x = b;//这句话会将b的值直接赋值给x,不需要临时空间

    因此,如果是仅仅定义一个常量,并且基本都在本文件中使用,最好用const来定义

    但是有些#define的有些功能const是替代不了的

    例如:

    #define TO_STR(x) #x

    调用这个宏,会返回一个字符串,跟传入的字符串一样

    #define CONCAT(x,y) x##y

    这个会返回x和y拼接成的结果

    --char username[] = "jack";

    cout << CONCAT(user,name) <<endl;

    上面的语句会输出jack

  • 相关阅读:
    adjacent_diffenerce
    数值算法速食食谱
    accumulate
    平面分割
    进制转换
    奖学金
    谁考了第k名
    奇数单增序列
    病人排序
    灯的开关状态
  • 原文地址:https://www.cnblogs.com/xyzaijing/p/3604811.html
Copyright © 2011-2022 走看看