zoukankan      html  css  js  c++  java
  • #在宏中的某些用法(转)


    1. 使用#可以将宏参数变为一个字符串,用##可以把两个宏参数粘合在一起
       例: #define STR(s)    #s
            #define CONS(a,b)  int(a##e##b)
            printf(STR(vck)) ----> printf("vck");
            printf("%d\n", CONS(2,3)) ----> printf("%d\n", int(2e3));
    2. 当宏参数是另一个宏的时候,凡宏定义里有'#'或'##'的地方宏参数是不会被替换的.解决方法是再加层宏.
       例: #define A     (2)
            #define CONS(a,b)   int(a##e##b)
            CONS(A, A) ----> int(AeA),不会转成 int(2e2)
        解决方法:
             #define A    (2)
             #define _CONS(a, b)   int(a##e##b)
             #define CONS(a, b)     _CONS(a, b)
             CONS(A, A)----> _CONS(2, 2)---->int(2e2)
  • 相关阅读:
    复制
    rpm 软件包管理
    xfsdump 备份文件系统
    dhcp服务器(一)
    【转】kafka集群搭建
    postgresql主从配置
    centos7 安装配置postgresql
    centos7 安装配置zookeeper
    zookeeper
    piplinedb 安装配置
  • 原文地址:https://www.cnblogs.com/cloudseawang/p/880130.html
Copyright © 2011-2022 走看看