当前位置: 首页 > news >正文

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

//=====================================================================
//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}来标明输出的位置即可。

相关文章:

  • 我的java mvc
  • 项目管理学习笔记三:项目管理一般知识
  • Markdown——入门指南
  • 项目管理学习笔记四:项目立项管理
  • 项目管理学习笔记五:项目整体管理
  • Extreme Learning Machine(ELM)的工程哲学
  • C++ VS C#(2):字符串,命名空间
  • URAL 2032 - Conspiracy Theory and Rebranding【本源勾股数组】
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之89——BREW中的测试工具...
  • uva 571 素数的性质
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之90——BREW中的调试信息...
  • C++中static用法
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之90——BREW中的日志接口功能...
  • cmd 控制台 提示:请求的操作须要提升!
  • eclipse-ADT安装失败经验
  • [nginx文档翻译系列] 控制nginx
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【EOS】Cleos基础
  • Codepen 每日精选(2018-3-25)
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • extract-text-webpack-plugin用法
  • iOS小技巧之UIImagePickerController实现头像选择
  • Javascript编码规范
  • magento2项目上线注意事项
  • Mysql数据库的条件查询语句
  • Mysql优化
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • spring boot 整合mybatis 无法输出sql的问题
  • Vue2.x学习三:事件处理生命周期钩子
  • vue--为什么data属性必须是一个函数
  • 关于extract.autodesk.io的一些说明
  • 计算机在识别图像时“看到”了什么?
  • 开源SQL-on-Hadoop系统一览
  • 浏览器缓存机制分析
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 扑朔迷离的属性和特性【彻底弄清】
  • 什么软件可以剪辑音乐?
  • 使用common-codec进行md5加密
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 数据科学 第 3 章 11 字符串处理
  • 微信小程序--------语音识别(前端自己也能玩)
  • 1.Ext JS 建立web开发工程
  • ​用户画像从0到100的构建思路
  • #include到底该写在哪
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (07)Hive——窗口函数详解
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (八)Flask之app.route装饰器函数的参数
  • (差分)胡桃爱原石
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (转)AS3正则:元子符,元序列,标志,数量表达符