CPP入门基础知识

来源:互联网 发布:java的jdk怎么安装 编辑:程序博客网 时间:2024/06/05 07:32

命名空间

   命名空间,就是根据需要指定的一些有名字的内存区域。把一些全局实体分别放在各个命名空间中,从而与全局实体分隔开。如

namespace MY{int a = 0;}namespace YOU{int a = 1;}
   其中namespace是定义命名空间所必须写的关键字,MY和YOU是自己定义的命名空间的名字(可用任意合法的标识符),花括号里的是命名空间成员。

#include<iostream>#include<stdlib.h>namespace MY{int a = 0;}namespace YOU{int a = 1;}int main(){int a = 3;printf("%d\n", a);printf("%d\n", YOU::a);//想访问谁就指定谁system("pause");return 0;}

   

   标准c++库中的所有标识符都是在std的命名空间中定义的,如用std限定c++标准库为:

#include<iostream>#include<stdlib.h>int main(){std::cout << "hello world" ;system("pause");return 0;}
   但在每个cout、cin以及其他std中定义的标识符前都用命名空间作为限定,显然不太方便。为避免对每个命名空间进行一一处理,则可用using namespace语句对命名空间std进行声明,将在std中定义和声明的所有标识符在此文件中都作为全局变量使用。如:

#include<iostream>#include<stdlib.h>using namespace std;int main(){cout << "hello world"<<endl;system("pause");return 0;}

C++基本的输入输出流

   在c++中,输入和输出的功能是通过调用输入输出流库中的流对象cin和cout实现的。其中,cout是输出流对象的名字,“<<”是流插入操作符,作用是将需要输出的内容插入到输出流中;cin是输入流对象名字,“>>”是流提取操作符,作用是将输入流中提取的若干字节送到内存区中指定的变量。

  cout语句一般格式为:cout<<表达式1<<...<<表达式n<<endl;

  cin语句一般格式为:cin>>变量1>>...>>变量n。

  如,想输入或者输出某一个数,c++具体代码如下:

#include<iostream>#include<stdlib.h>using namespace std;int main(){int a, b;cin >> a >> b;cout <<a <<b << endl;system("pause");return 0;}


重载

   c++允许用同一个函数名定义多个函数,这些函数的个数与类型可以不同。就是对一个函数名重新定义,使一个函数名可以有多种用法,这就是重载。如:

#include<iostream>#include<stdlib.h>using namespace std;int main(){int max(int a, int b, int c);//函数声明int max(int a, int b);//函数声明int a = 1, b = 2, c = 3;cout << "max(a,b,c)=" <<max(a,b,c)<< endl;cout << "max(a,b)=" << max(a,b)<<endl;system("pause");return 0;}int max(int a, int b, int c)//求三数最大值{if (a > b)b = a;if (c > b)b = c;return c;}int max(int a, int b)//求两数最大值{if (a > b)return a;elsereturn b;}
   上述程序中,两次调用函数的参数个数不同。在函数的重载中,参数个数、参数类型或者参数顺序中至少有一种不同,函数返回值类型可以不同也可以不同。

缺省参数

   缺省参数,就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。

全缺省:

int ADD(int a=20,int b=30){return a + b;}int main(){cout << ADD() << endl;//全缺省;20+30=50cout << ADD(5) << endl;//全缺省;5+30=35;不能写成cout<<ADD( ,5)<<endlsystem("pause");return 0;}
半缺省:

int ADD(int a, int b = 30)//不要写成int ADD(int a=30,int b){return a + b;}int main(){cout << ADD(1, 2) << endl;//3cout << ADD(20) << endl;//50system("pause");return 0;}

指针和引用的区别和联系

1.指针是一个变量,存储的是地址,指向内存的一个存储单元;引用跟原来的变量实质上是同一个东西,只是一个别名而已。

2.指针的值可以为空,可以不进行初始化;声明一个引用时,必须同时使之初始化,即声明它代表哪个变量。

3.指针++时,+的是类型的大小;引用++时,+的是值的大小。

4.sizeof不一样,指针是指针本身的大小为4,引用由变量的类型大小而定。

5. 指针的值在初始化后可以改变,即指向其它的存储单元;而引用在进行初始化后就不会再改变了

5.语法意义不一样:

{int a=0;int *p = &a;//4 地址int &r=a;//没有 别名}



原创粉丝点击