1,c++中Windows Console Application(控制台程序)和Empty Project(空项目)的区别(除了创建后的初始代码不同):Debug调试时Empty Project 弹出的窗口在很短的时间内就闪退了,Windows Console Application的窗口却一直保留在那,下面介绍这两种转变的方法:右键项目,选择properties(属性),选择Configuration Properties(配置属性)下的Linker(链接器)->System(系统),在右边找到SubSystem(子系统),选择Console后Debug调试时显示的窗口就会一直存在。
Empty Project比WindowsConsole Application在sourcefiles少了一个pch.cpp,在headerfiles少了一个pch.h,且即使把这两种补上还是会报错
默认参数
2,当参数有多个是,设置的默认参数必须是在参数列表里的后几个,如void printArea(double radius,double diameter=1,int area=0),如果用void printArea(double radius=1,double diameter=0,int area)就会发生编译错误。
3,局部变量没有默认值,全局变量的默认值为0
4,#include引用形式和尖括号形式的区别
用户定义的头文件用“”将文件名括起来,而标准头文件则应用一对尖括号<>将文件名括起来。
头文件可以放在磁盘的任何位置,例如,如果MyLib.h放在Windows系统的c:\盘的根目录下,可以使用绝对目录来包含它,如下:
#include “c:\MyLib.h”
头文件是为被其它程序重用而设计的。
5,::运算符称一元作用域解析(unary scope resolution)运算符
可以访问全局变量,如图
输出:
6,闰年:
year%4000||(year%40&&year%100!=0)
7,内联函数(inline function)
内联函数不会被调用,编译器将其代码复制到每个调用点上
8,address operator
“与符号”&放在一个变量之前时,被称为地址运算符(address operator)
9,赋值规则
地址=变量
指针=地址
10,函数原型(function prototype)
如:
int max(int num1,int num2);
或 int max(int,int)
11,引用方式传递数组
出于性能考虑,按引用方式传递数组是很有意义的。如果数组是按值方式传递,其所有元素都必须复制到一个新数组中。对于大数组,需要花费较多的时间和额外的内存空间。
在数组参数前加上关键字const,告知编译器数组是不允许修改的,这样,如果函数代码试图修改数组的话,编译器就会报告一个错误。防止函数意外地改变了数组的值。
void p(const int list[]