see C++ for the first(初识C++)

来源:互联网 发布:java 线程池 状态 编辑:程序博客网 时间:2024/06/05 02:50

 神秘莫测的C++

       因为我们专业是网络工程所以从大一开始就与C++无缘,但是在大一第二学期的时候我们在学校里学了一学期的Java,虽然没有缘分学习C++但是总觉得这两者之间有这千丝万缕的关系(都是面向对象的语言)。听学长学姐说C++应该是最难的一门课了,作为C++初学者的我就只能尽力喽..以下是我个人对C和C++的一点认识,如果有偏差的地方希望大家多多理解啦...

        @C++关键字

        我们知道在C语言中它的关键字有32个之多,当时我就觉得怎仫会有这仫多的关键字呢?晕...今天就让我们来看看C++里面的关键字吧...
         

         @C++的名字空间

            名字空间解决全局命名冲突的问题 
            标准C++库里的所有组件都是在一个被称为std的名字空间里声明和定义的;在标准C++的平台上使用标准C++库时有两种方式:
            1).只需要写一个using指示符就可以了,using namespace std;
            2).std::成员的方式也可以, ::作用域解析符
            自定义名字空间 
            1).名字空间相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来;
            2).可以在C++的名字空间std中添加新的变量( 一般很少这样做);
            3).支持在不同的空间节里写相同的名字空间;
好了说了这仫多如何使用名字空间呢?下面我们就一个C中老生长谈的代码"Hello world"来理解上述名字空间的使用:
        
#include<iostream>namespace B1{int a=10;}namespace B1{int b=20;}namespace B2{int a=100;}using namespace std;using namespace B1;using namespace B2;int main(){cout<<B1::b<<endl;cout<<B1::a<<endl;cout<<B2::a<<endl;std::cout<<"hello world"<<endl;cout<<"hello world"<<endl;system("pause");return 0;}

        它的输出结果是什仫呢?当然20     10      100      hello world       hello world    啦..

       @C 和C++的输入输出对比

        
cout     标准输出流对象,<<输出操作符cin        标准输入流对象,   >>输入操作符endl      换行操作符都属于C++标注库,在名字空间std里

       @C++的函数重载

         在同一作用域,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同
      为什仫会有   extern C ?
         在C++语言中支持重载,而C中不支持重载,所以C++和C的命名规则不同,当C和C++共同在同一个函数中时就要使用extern C, 说明extern C 其后使用的函数是使用C的命名规则
         比如下列代码在C中是不允许的,而在C++中因为可以重载是允许使用的:
          
int Add(int x,int y){return x+y;}float Add(float x,float y){return x+y;}

          好了今天的总结就到这里了,总结的不太全面希望读者理解啦...
1 0