您的位置:首页 > 编程语言 > C语言/C++

C++ VS C#(1):注释,变量,控制台输出

2010-11-29 17:59 281 查看
//=====================================================================
//TITLE:
// C++ VS C#(1):注释,变量,控制台输出
//AUTHOR:
// norains
//DATE:
// Monday 29-November-2010
//Environment:
// Visual Studio 2010
// Visual Studio 2005
//=====================================================================



1. 注释



无论是C++还是C#,都支持“/* */”和“//”这两个注释符号,不过在此基础之上,C#还多支持了三根线,也就是“///”。严格来说,这个算是“//”语法的扩展,区别在于它可以在编译项目时,提取这个注释后面的文本,创建一个特殊的文本格式文件。



2. 变量



两者最明显的区别是,C#已经不支持unsigned关键字,取而代之的是在类型之前以u替代。比如,声明一个无符号的int类型,对于C++来说是这样:
unsigned int abc;




但对于C#来说,则更为简洁:
uint abc;


如果以表的形式,也许我们更清楚看到这两者的区别:

类型

C++
C#
8位无符号整数
byte,unsigned char
byte
8位有符号整数
char
sbyte
16位无符号整数
unsigned short
ushort
16位有符号整数
short
short
32位无符号整数
unsigned int
uint
32位有符号整数
int
int
浮点型
float
float
浮点型
double
double
浮点型
/
decimal
一个UNICODE字符
std:wchar_t
char
一个ANSIC字符
char
?
一组UNICODE字符
std::wstring
string
一组ANSIC字符
std::string
?
布尔类型
bool
bool
从表中可以看出,基本上同名的类型,所代表的意义基本相同,唯一的偏差就在于字符串。比如char在C#中是UNICODE,但在C++就是ANSIC了。同样地,也影响到””的使用,比如”ABC”,在C#是UNICODE,而C++还是ANSIC。



3. 控制台输出



控制台内容很广泛,这里只以输出为例子。对于C++来说,可以用老式的printf,也可以用std::cout;而C#使用的是Console.WriteLine。



假设有两个变量,一个是int类型,一个是string类型,如:

int iVal = 25;
string strVal = “Hello!”;//如果是C++编译无法通过,在前面加std::前缀,即std::string



如果想以行的形式输出到控制台,我们可以这样:



C++的printf:
printf(“%d,%s”,iVal,strVal.c_str());


C++的流形式:
std::cout<< iVal<<strVal<<std::endl;


C#的Console:
Console.WriteLine(“{0} {1}”, iVal, strVal);


抛开C++的流形式不谈,C#的Console其实和printf有点像,只不过C#是使用{x}的形式,而C++则是%。另外一点就是,C++是必须指定类型的,比如%d为数字,而%s为字符串,而C#如果不想更改原意,只需要使用{x}来标明输出的位置即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: