1.注释:
1.注释的嵌套:/* 和*/不能嵌套,但是/*//something*/是可以的
2.反斜杠换号代码毫无影响
2.操作符dec(十进制),hex十六进制,oct八进制
int x=25;
eg:cout<<hex<<x<<" "<<dec<<x<<" "<<oct<<x;
输出结果分别为19,25,31(分别用十六进制,十进制,八进制表示25)
3.变量声明
C语言中:int x;
x=25;
int y;
y=23;
是不行的,赋值夹在两个声明之间是不行的
但是C++可以
4.结构体,联合,枚举名变量的定义
例如struct Node{
....
};
C语言中是这样的:struct Node x;
C++中不需要struct :Node y;
5.函数声明:
若函数声明中没有指出返回类型的函数,C++默认为int
未完待续,明天继续奋斗
今天继续
6.常量
1.#define的不安全性:#define几乎就是直接将代码插入对应的引用段,显得很粗鲁,而且容易出错
2.const:加到一个对象的声明上,将这个对象声明为一个常量,而常量是不允许赋值的,因此在声明时必须初始化
const int x=3;
const int v[]={1,2,3,4};
但是 const int y 很明显是错的 ,他没有初始化,另外,x此时已经为常量了
此时:const实际上改变了类型,x已经不再是整形变量了,他已经是一个常量了
另外 ,就是指针与const之间一段纠结的感情史了,不过不要怕,慢慢梳理一下
首先,一个指针涉及到两个对象,该指针本身和被它所指的对象,
那么接下来,常量到底是指针本身还是它所指的对象呢
1.常量是它本身 ,也就是常量指针
定义常量指针的声明运算符为 *const
char s[]=“abcd”;
也就是说要定义一个指向s的常量指针
char *const pc=s;
常量指针:即该指针为常量!!!
(赋值操作不被允许const int x=3)因此不能更改指针的指向:如:pc="cdef";
但是可以更改 pc[3]='f';
2.常量是它所指向的对象,也就是指向常量的指针
const char* pd=s;
这种情况下,指针pd本身并不是一个常量,但是字符数组s是一个常量
在这种情况下pd="cdef"是可以的
但是,pd[2]='e'是不可行的
3.常量既是指针本身,也是它所指向的对象
const char*pd=s;
在这种情况下,以上两种情况都不允许,恩,这大概就是const了