C++中“#”号的使用技巧

 更新时间:2013年05月21日 17:12:17   作者:  
本篇文章是对C++中“#”号的使用技巧进行了分析介绍,需要的朋友参考下
在写程序时,我们经常要输出,比如printf,cout,当你要输出表达式的值,并要在前面输出表达式的形式时,有时会有点麻烦!比如cout<<"a*b(c-d):"<<a*b(c-d)<<endl;有时像"a*b(c-d):"这样的表达式懒得写,或很多这样的表达式,写起来也浪费时间,我们可以用“#”来减少麻烦!
貌似没说清楚,举个例子:
复制代码 代码如下:

#include <iostream>
using namespace std;
#define P(EX) cout<<#EX<<":"<<EX<<endl;
int main()
{
    int a[10];
    for (int i = 0; i < 10; i++)
        a[i] = i;
    int *ip = a;
    P(*ip);           
    P(*++ip);
    P(*(ip+5));
    int *ip2 = ip + 5;
    P(*ip2);
    P(*(ip2 - 4));
    P(*--ip2);
    P(ip2-ip);         //指针相减,注意:指针之间不能相加
    return 0;
}

执行一下,看看效果,不用我们屡次写cout<<"*(ip2 - 4)"<<":"<<*(ip2 - 4)<<endl;这些字符串了。尽管Effective C++建议尽量用const和inline而不用#define,即“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。但我们在不干扰自己程序的情况下,用一用也无妨。

相关文章

  • C++ STL中的常用遍历算法分享

    C++ STL中的常用遍历算法分享

    这篇文章主要为大家详细介绍了C++ STL中两个常用的遍历算法,文中的示例代码讲解详细,具有一定的学习与借鉴价值,感兴趣的小伙伴可以参考一下
    2022-12-12
  • C++实现日期类的方法详解

    C++实现日期类的方法详解

    这篇文章主要给大家介绍了C++实现日期类的方法,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • C实现不定长数组的示例

    C实现不定长数组的示例

    今天小编就为大家分享一篇C实现不定长数组的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • OpenCV实现给图片添加边框功能

    OpenCV实现给图片添加边框功能

    这篇文章主要为大家详细介绍了OpenCV实现给图片添加边框功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 用C语言简单实现扫雷小游戏

    用C语言简单实现扫雷小游戏

    这篇文章主要为大家详细介绍了用C语言简单实现扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 举例讲解C语言对归并排序算法的基础使用

    举例讲解C语言对归并排序算法的基础使用

    这篇文章主要介绍了C语言对归并排序算法的使用,归并排序算法的平均事件复杂度为(n\log n),需要的朋友可以参考下
    2016-05-05
  • C语言宏定义容易认不清的盲区梳理

    C语言宏定义容易认不清的盲区梳理

    宏定义是C提供的三种预处理(宏定义、文件包含、条件编译)的其中一种,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率
    2022-09-09
  • 在C++中加载TorchScript模型的方法

    在C++中加载TorchScript模型的方法

    这篇文章主要介绍了在C++中加载TorchScript模型的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 详解C++ 运算符重载中返回值的坑

    详解C++ 运算符重载中返回值的坑

    这篇文章主要介绍了C++ 运算符重载中返回值的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • c++动态内存空间示例(自定义空间类型大小和空间长度)

    c++动态内存空间示例(自定义空间类型大小和空间长度)

    这篇文章主要介绍了c++动态内存空间示例,自定义空间类型大小和空间长度,需要的朋友可以参考下
    2014-04-04

最新评论