C++中的几个特殊符号说明

C++的几个特殊符号

  • #

把宏参数变为一个字符串,仅可用于宏定义中。

如:

int GetLength(std::string str)
{
    return str.length();
}
#define LEN(str)    GetLength(#str)
int main()
{
    std::string str = "abcdefg";
    cout << LEN(str) << endl;
    return 0;
}
// 上述程序将输出3,而不是7
  • ##

把两个宏参数连接到一起,仅可用于宏定义中。

如:

int GetLength(std::string str)
{
    return str.length();
}
#define TOTALLEN(str1, str2)      GetLength(str1##str2)
int main()
{
    std::string str1 = "abcdefg";
    std::string str2 = "hijk";
    std::string str1str2 = "hello";
    cout << TOTALLEN(str1,str2) << endl;
    return 0;
}
// 上述程序输出5,即str1str2的长度
  • \

在宏定义中用于将不同行的上下文连接成一行

  • __DATE__

在源文件中插入当前编译的日期

  • __TIME__

在源文件中插入当前编译的时间

  • __FILE__

在源文件中插入当前源文件路径及文件名

  • __LINE__

在源文件中插入当前源代码的行号

C++的“>>“和“<<“

操作符作用

C++中标准输入输出中所使用的">>“和”<<"是重载运算符作用,意义是流插入运算付和流提取运算符

C++中的几个特殊符号说明_第1张图片

位操作符

在了解移位操作符和位操作符之前,我们需要知道一个十进制的整数是如何在计算机中存储的,以int a = 10 为例,int型占4个字节,一个字节有8位,正数十以二进制存储在这32位中,其在内存中的存储如下,为方便视图中间部分已省略。注意:注意:注意:

" 移位操作都是针对补码进行的,正数的原码、补码、反码相同,负数的原码取反得反码,反码加一得补码。"

  • ">>"右移操作符
  • "<<"左移操作符

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(C++中的几个特殊符号说明)