Xcode 和 VisualC++输出流的差别的理解
将这样一段程序分别运行与Visual Studio 和 Xcode上边的结果:
#include <iostream>
using namespace std;
int main()
{
int a=, b=, c=,d=,e=,f=;
cout<<a<<" "<<a++<<endl;
cout<<++b<<" "<<b++<<" "<<endl;
cout<<c<<" "<<(c++)+(++c)<<" "<<endl;
cout<<(d=f++)+(e=f)<<endl;
cout<<f<<" "<<d<<" "<<e<<endl;
return ;
}
Visual C++运行下:
1 0 //从右向左,先打印a(0),在打印自加后的a(1);
2 0 //从右向左,先打印b++(0),再打印(++b)(2);
4 6 //从右向左,表达式中如果有左++,先自增,所以(c++)(3)与++c(3)的和是6;再打印左边c(4);
4 //a=f++的值为2,visualC++中先算完加号,再统一计算f++,所以e=f表达式的值为2,两者相加结果为4;
3 2 2 //作为上一个表达式的副作用,f=3;另外d=2 e=2;
Xcode编译运行下:
0 0 //从左向右,
1 1 //从左向右
2 6 //可能采用了跟VC++一样的机制
5
3 2 3
devC++编译运行下:
Xcode 和 VisualC++输出流的差别的理解的更多相关文章
- 正确理解Python文件读写模式字w+、a+和r+
w+ 和 r+的差别不难理解.还有a+ +同一时候读写,就可以读又可写,边写边读.边读边写,不用flush,用seek 和 tell可測得. fp = open("a.txt", ...
- OutputStream类详解
主要内容包括OutputStream及其部分子类,以分析源代码的方式学习.关心的问题包括:每个字节输出流的作用,各个流之间的主要区别,何时使用某个流,区分节点流和处理流,流的输出目标等问题. Outp ...
- delphi中的各种文件类型介绍【转】
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- Objective C 快速入门学习一
Objective-C程序设计 1. 直接用Xcode作为IDE,舍弃gcc编译方面的学习.2. 入门例子:Eg:打印Hello World 控制台程序 #import<Foundation/F ...
- (转)Delphi工程文件说明
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- Delphi 文件类型
该内容整理自以下链接 http://www.cnblogs.com/chenyunpeng/archive/2012/08/02/2620513.html 1.DPR: Delphi Project文 ...
- iOS9的新特性以及适配方案
新的iOS 9系统比iOS8更稳定,功能更全面,而且还更加开放.iOS 9加入了更多的新功能,包括更加智能的Siri,新加入的省电模式.iOS 9为开发者提供5000个全新的API. 1. 限制HTT ...
- delphi中的各种文件类型介绍
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- C++ —— 笔记汇总
导读 本文仅用于记录在个人在使用C++过程中的遇到一些的疑问和概念. 目录 语法和概念基础 常用函数 编程注意 编译问题 拓展链接 1.语法和概念基础 1.块域 2.static 作用域 ...
随机推荐
- 树莓派(centos7)安装mysql
yum install mysql mysql-server 或者 yum install mariadb mariadb-server 安装完后启动mysql systemctl start mar ...
- AjaxPro对象参数传递
1.客户端配置 2.服务端注册,配置 对象参数用到的方法 3.Web.config文件配置 需要注意的是ajax以及ajaxpro调用的方法必须是静态方法,如果存在非静态方法可以从页面作为参数传递
- shell编程(一)之变量
变量:命名的内存空间 bash的变量种类: 根据变量的生效范围等标准 本地变量: 生效范围为当前shell进程:对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效 环 ...
- 获取Tomcat更详细的日志
前言 有时候tomcat报错未详细,未能定位到原因. 解决方法: 获取更详细的日志,以便调试. 详细步骤: 获取详细的日志,方法如下: 在WEB-INF/classes目录下logging.pro ...
- Learning-Python【26】:反射及内置方法
反射的概念 可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),Python 中一切皆对象,都可以使用反射. 反射有四种方法: hasattr:hasattr(object, n ...
- 《温故而知新》JAVA基础七
抽象类 定义:抽象类前面使用abstract关键字修饰(只用语被继承) 应用场景: 在父类中写一些子类中即将实现的方法,具体的实现在子类中写,也可以将多种特征相同的类抽离出来 使用规则 abstrac ...
- 使用scss为css样式自动添加浏览器前缀
当一个浏览器实现一个新的属性.值或者选择器,而这个特征还不是处于候选推荐标准状态的时候,这属性的前面会添加一个前缀以便于它的渲染引擎识别. 浏览器使用前缀来尝试一些新属性.值和选择器,即使他们还没有最 ...
- js没事干应该瞧瞧的一些博客
https://zhidao.baidu.com/question/1736568808722198187.html http://www.cnblogs.com/webpush/p/4963002. ...
- 菜鸟脱壳之脱壳的基础知识(五)——利用内存断点寻找OEP
经过第一节的基础知识,我们都知道了,加壳程序首先解把原来压缩的代码解压,然后放到所对应的区块中,当外壳程序执行完毕后,跳回到OEP执行,我们都知道,OEP是放在代码段中,也就是当外壳程序处理完毕后,跳 ...
- PC/FORTH 变量|常数|数组
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...