C++中的几个特殊符号说明
作者:little丶Sunshine
这篇文章主要介绍了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++中标准输入输出中所使用的">>“和”<<"是重载运算符作用,意义是流插入运算付和流提取运算符
位操作符
在了解移位操作符和位操作符之前,我们需要知道一个十进制的整数是如何在计算机中存储的,以int a = 10 为例,int型占4个字节,一个字节有8位,正数十以二进制存储在这32位中,其在内存中的存储如下,为方便视图中间部分已省略。注意:注意:注意:
" 移位操作都是针对补码进行的,正数的原码、补码、反码相同,负数的原码取反得反码,反码加一得补码。"
- ">>"右移操作符
- "<<"左移操作符
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。