第一节
C中:
const in a = int const a
int *const p
const int *const p
char *p =malloc(100); //(void *)
enum day
{
Mon,TUE
}
enum DAY today
today = 100;
int a,b =10;
a=b=100;
(a=b)=100;//表达式不可以被赋值
C++ 中:
1.类型检查更严格
const in a =0; 必须初始化
char *p =(char*)malloc(100);
2.增加了一个BOOL类型(ture/false),其实就是一个枚举类型
3.C++中的枚举类型是真正意义的枚举类型,只能取里面的内容
enum BOOL
{
FALSE,TURE
}
BOOL a = FALSE;(只能用枚举类型BOOL里面的值)
4.表达式
(a=b)=100;//表达式可以被赋值
第二节
cin cout 类对象 。scanf sprintf 相同的功能,函数
char name[30];
scanf、gets, cin(不安全)
fgets(name,30,stdin)//自己控制读取长度(安全)
string name;
cin>>name(安全)
cin>>流输入运算符
输出控制
int a =12345;
cout <<setw(8)<<a<<endl;输出宽度控制
cout<<setiosflags(ios::left)<<setw(8)<<endl;输出宽度
控制,左对齐
int a =123;
printf("%x",a);十六进制
printf("%o",a);八进制
printf("%d",a);十进制
cout<<hex<<a;十六进制
cout<<oct<<a;八进制
cout<<a; 十进制
第三节
1.函数的重载:函数的名相同,参数列表不同(,类型,个
数,顺序)
返回值类型不构成重载条件
2.匹配原则:严格匹配 ,隐式转化
void print(int a)
void printf(float a)
print(3.4) // double 类型在(int 类型 和 float 类型同时
存在,会有二义性)
void print(long a)
void printf(double a)
print(3) //int类型在(long 类型和double类型同时存在,
会有二义性)
解决办法强转print(long(3))
来源:oschina
链接:https://my.oschina.net/u/4368490/blog/4700326