首页 > 技术文章 > c++的准备知识12

world1 2016-08-02 17:31 原文

1.换行符可代替endl,用于在输出中重起一行。可以以字符常量表示法(“\n”)或字符串方式(“n”)
  使用换行符。下面三行代码都将光标移到下一行:
  cout<<endl;
  cout<<‘\n';
  cout<<"\n";
  可以将换行符嵌入到较长的字符串中,这通常比使用endl方便。例如cout语句的输出;
  cout<<endl<<endl<<"What next?"<<endl<<"Enter a number:"<<endl;
  cout<<"\n\nWhat next?\nEnter a number:\n";
  显示数字时,使用endl比输入“\n”或‘\n’更容易一些,但显示字符串时,在字符串末尾添加一个换
  行符所需的输入量要少些。
  cout<<x<<endl;
  cout<<"Dr.X.\n";
  最后,可以基于字符的八进制和十六进制编码来使用转义序列。例如Ctr+Z的ASCII码为26.对应的八进制
  编码为032.十六进制编码为0x1a。可以用下面的转义序列来表示该字符,:\032或\x1a.将这些编码用单
  引号括起,可以得到相应的字符常量。


2.通用字符名:C++实现支持一个基本的源字符集。即可用来编写源代码的字符集,他由标准的美国键盘上的
  字符和数字,C语言中使用的符号以及其他一些字符组成,还有一个基本的执行字符集,他包括在程序执行
  期间可处理的字符。他增加了一些字符,如退格和振铃,C++标准还允许实现提供扩展源字符集和扩展执行
  字符集。另外那些被作为字母的额外字符也可用于标识符名称中。C++有一种表示这种特殊字符的机制,他
  使用的是通用字符名。
  通用字符名的用法类似于转义序列,通用字符名可以以\u或\U打头,\u后面是8个十六进制位。\U后面则是
  16个十进制位。这些位数表示的是IS O1046码点


3.如果使用的实现支持扩展字符,则可以在标识符和字符串中使用通用字符名。例如:
  int k\u00F6rper;
  cout<<"let them eat g\u00E2teau.\n";
  6的ISO 10646码点为00F6,而a的码点为00E2.因此上述代码将变量名设置为k6rper,并显示出:
  Let them eat gateau.
  如果不支持osp 10646 他将不显示其他字符或gu00E2teau,而不是a。
  要注意到是,C++使用术语“通用编码名”,而不是“通用编码”,这是因为将\u00F6解释为“Uincode”
  码点为U-00F6的字符。支持Unicode的编译器知道,这表示字符6但无需使用内部编码OOF6.无论计算机使用
  ASCII还是其他编码系统,都可以在内部表示字符T:同样在不同系统中,将使用不同的编码来表示字符6.
  在源代码中,可以适用于所有系统的通用编码名,而编译器将根据当前系统使用合适的内部编码来表示他。

 

推荐阅读