C++暑期学习笔记

C++初步学习笔记


一、命名空间(namespace)相关

1 个人理解:

  • 为了避免整合资源中存在的重名矛盾而采取的区别资源的措施;

2 命名空间的定义:

  • 比如要定义一个命名空间A:

        namespace A
        {
            //。。。。
        }
    

3 命名空间的使用:

  • 使用前提前声明:

        using namespace std;
    
  • 在想使用的某命名空间A下的函数等前加上A::

        A::fun();	//类似这样
    

二、常量(const)相关

1.个人理解:

  • 被const修饰后,无法通过被修饰物修改;
  • 相当于指定一定权限(访问、修改等);

2.const 和 指针

情况一:const 修饰 *p

  • 例如:

         const int *p;
    
  • 此时不能对 *p 进行赋值操作;

  • 但可以修改 p 的指向;

情况二:const 修饰 P

  • 例如:

         int * const p;
    
  • 此时不能修改 p 的指向;

  • 但能对 *p 进行赋值操作;

情况三:const 修饰 p 且 修饰 *p

  • 例如:

        const int * const p;
    
  • 此时无论是 p 的指向还是 *p 都无法修改;

3.const 和 引用

  • 和上面的类似,仅给出一个样例:

        int x
        const int &y = x;
    
        x=10;	//合法
        y=20; //不合法
    

三、函数重载:

  • 理解:
    • 范围:相同作用域内
    • 用 同一函数名 定义的 多个不同的函数;
  • 要求:
    • 貌似计算机会对我们 定义的函数 && 参数的类型 在内部进行重新命名;
    • 所以,参数个数不同||存在某个参数类型不同,均可;

四、函数内联:

  • 用法:
    • 用inline修饰函数;
  • 相关:
    • 内联编译是建议性的;
    • 编译时具体如何由编译器决定的;
    • 逻辑简单,调用频繁的函数可以建议使用内联;
    • 递归函数无法进行内联;

五、内存管理

  • 貌似具体挺多奇奇怪怪的问题的,写多了慢慢感受吧;

  • 内存的申请和释放不能和C语言的混用;

  • 内存申请:

      int *p = new int;
      int *arr = new int [10];
    
  • 内存释放:

      delete p;
      delete []arr;
    

End.

posted @ 2016-02-05 14:17  TheSkyFucker  阅读(238)  评论(0编辑  收藏  举报

本 当 で す か ?

は い 。