【发布时间】:2017-11-03 11:28:25
【问题描述】:
我在GCC编译器中编译并运行了以下代码sn-ps。成功了。
#include <iostream>
using namespace std;
int main()
{
char ch = char('A');
cout<<ch<<endl;
return 0;
}
输出:
A
那么,char() 是内置类型函数还是系统调用?
【问题讨论】:
-
char是一个内置类型,但您可以在初始化内置类型时使用()或{}语法,即使这看起来像一个构造函数调用。这只是语法,没有特殊的函数调用。 -
char ch = char('A');:char ch声明变量ch类型为char。=开始初始化。'A'是字母A的字符常量(ASCII 值 65)。char('A')将常量表达式'A'转换为类型char。另一种形式可能是(char)'A'。它似乎没有多大意义,但在语法和语义上都是正确的。