首页 > 编程 > C++ > 正文

C++的一些知识以及和C语言的不同

2019-11-10 22:18:24
字体:
来源:转载
供稿:网友

1.数据类型 - c++提供了新的数据类型:bool型

2.初始化方法 - c语言:int x = 1(复制初始化) - c++ : 除了复制初始化还有直接初始化:int x(1)

3.随用随定义 - c语言必须先最前面定义 - c++可以在中间随用随定义

4.输入和输出 - cin和sin - cout<<x<<endl; - cout<<"x+y="<<x+y<<endl; - endl其实就代表一个回车 - cin>>x; - cin>>x>>y; - 优点:不用关注占位符,不用关注数据类型

5.命名空间 - 关键字:namespace namespace A { int x=0; void f1(); void f2(); } namespace B { int x=2; void f1(); void f3(); } - 要想输出A的x和B的f1则:

cout<<A::x<<endl;B::f1();

6.引用

int a=3;int &b=a;//引用必须初始化

结构体类型的引用同理

指针类型的引用: 类型 *&指针引用名 = 指针;

引用作函数参数:

void fun(int &a, int &b){ int c=0; c = a; a = b; b = c; }int x = 10,y = 20;fun(x,y);//调用的时候直接写x,y就能改变x,y的值

不使用引用时:

void fun(int *a, int *b){ int c=0; c = *a; *a = *b; *b = c; }int x = 10,y = 20;fun(&x,&y);//改变x,y的值

7.const

const与指针:

int x = 3;const int *p = &x;//p = &y; 正确//*p = 4; 错误int x = 3;int *const p = &x;//p = &y;是错误的const int x =3;const int *const p = &x;//p = &y;//*p = 4;//都是错误的

const与引用:

int x = 3;const int &y = x;//x = 10;正确//y = 20;错误const int x = 3;int *y = &x;//错误,因为指针是可变的,而指针指向的x是不可变的,这样我们就用一个权限大的去接受一个权限小的,有危险(可以通过改变指针的值来改变x,不可行)。int x = 3;const int *y = &x;//正确,用权限小的去接受权限大的

宏定义也是定义常量,但是系统不检查错误.

8.函数

参数默认值 最右边的参数必须赋值

==

函数重载

==

内联函数 inline


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选