美文网首页C++
C++学习--初级篇

C++学习--初级篇

作者: hellobinbin | 来源:发表于2018-01-25 14:56 被阅读0次

    1、前言

    本博文记录学习C++的知识点和一些自己的总结

    目前开发环境:VS

    最终项目开发环境:QT

    参考学习资料:慕课网 james_yuan 的C++远征系列 之C++远征起航篇

    2、知识点

    2.1 C与C++的关系

    C是C++的子集,C++是从C的基础上发展而来的,C语言是面向过程的,C++支持面向过程和面向对象。

    2.2 命名空间namespace

    不同函数库中的变量、函数用同样的名字命名,运用命名空间的目的就是进行区分。

        namespace A {

            int x = 1;

            void fun() {

                //to do

        }

    }

    namespace B {

        int x = 1;

        void fun() {

            //to do

        }

    }

    int main(void) {

        cout << A::x << endl;

        B::fun();

        return 0;

    }

    2.3引用

    //基本类型引用

    int a;

    int &b = a;

    //结构体类型引用

    Coor c1;

    Coor &c = c1;

    //指针类型引用

    类型 ×&指针引用名 = 指针;

    int a = 5;

    int *p = &a;

    int *&q = p;

    //引用作函数参数

    void fun(int &a,int &b){

    int c = 0;

    c = a;

    a = b;

    b =c;

    }

    int x = 10,y = 20;

    fun(x,y)

    别名&b和a是同一个变量,可以通过修改别名的值,进而修改变量的值。

    2.4 const

    const : 控制变化

    使用了const之后,内存中存储的值不可改变

    x的值不可以再变

    const int x = 3;

    指针

    int x = 3;

    const int *p = &3;

    // p =  &y;     正确 

    //*p = 4;        错误

    2.5 函数特性

    1、函数默认值

    void fun(int,int y =5,int z = 8 ){

    //有默认值的参数必须在参数表的最右端

    //to do

    }

    2、函数重载

    在相同作用域内

    同意函数名定义多个函数

    参数个数和参数类型不同

    getMax(int a, int b)

    getMax(double a , double b)

    3、内联函数

    编译时将函数体代码和实参代替函数调用语句

    关键字 inline

    效率高,逻辑简单,不能使用for、while循环

    2.6 内存管理

    申请内存不一定会成功哦,需要判断

    //指针内存

    int *p new int;

    delete p;

    p = NULL;

    //块内存

    int *arr = new int[10];

    delete [ ] arr;

    p =NULL;

    相关文章

      网友评论

        本文标题:C++学习--初级篇

        本文链接:https://www.haomeiwen.com/subject/vyomaxtx.html