C#与C++ 数据类型对比基本语法区别

作者:袖梨 2022-06-25

c#与c++ 数据类型对比基本语法区别
基本数据类型:

  在c#中sbyte表示-128~127之间的整数,这与c++众的char一样;c#中byte表示0~255之间的整数,在c++中用unsigned char表示;在c#中,char表示一个unicode字符,其存储0~65535之间的整数,这与c++的区别比较大。

  short表示16位无符号,这与c++相同;ushort表示16位无符号整数;同理有int uint, long, ulong,这都与c++差不多(在c++中没有uint和ulong,分别是unsigned int和unsigned long)。c#中每种数据类型还分别对应.net框架中的标准类型,也可以看成c#每种类型都是.net基本数据类型的别名。

  c#中的string与c++ stl标准库中string类型类似。在c#中,字符串是引用类型,而其它类型都是值类型。

  变量命名规则:

  c#中变量命名规则与c++基本一致。在c#中,变量名的第一个字符必须是字母、下划线或@,其后的字母可以是字母、数字或下划线,不能有-,.等。

  c#转义序列:c#除了支持c++中基本的例如" n等转义字符使用外,还支持用@对整个字符串进行操作,如下,使用@,不需要加

    “c:windowsxp” -> @"c:windowsxp"

  运算符:

  c#中的运算符与c++基本保持一致,如也支持前置与后置的++、--;+=、-=、*=、/=、%=等,其运算符优先级也一致。

  名字空间域:

  名字空间域是个好东西,它可以将代码分别封装到不同的名称空间,以避免命名冲突。在c++中,这不是必须的,而且在很多应用中,经常被忽视;但是在c#中,基本上是必须的,这从ms提供的vc及c##实例就可以看出两者的区别。

  在c++中,名字空间域的访问使用域操作符‘::’,如std::vector;而在c#中,使用‘.’,如system.text(system名称空间是.net应用程序的根命名空间)。

  在c#中,声明名称空间,使用using **,如using system;

  在c++中,声明名称空间,使用using namespace **,如using namespace std

相关文章

精彩推荐