寒假学习笔记(2)

2018.2.8

命名空间 namespace

  • namespace 空间名{};
  • 防止标识符名称冲突,将逻辑上相关的标识符置于同一命名空间中;
  • 三种引用方式:
    • 作用域运算符:命名空间名:: 成员名;
    • using指令:using namespace 空间名;
    • using声明:using 命名空间名:: 成员名;
  • 命名空间内可以嵌套定义子命名空间,但不能在命名空间内声明子命名空间而在外部定义;
  • 命名空间必须定义在头文件中,而不能作为一个应用程序来运行;
  • C++标准程序库中的所有标识符都被定义于一个名为std的namespace中;

动态内存分配

  • 申请动态内存
    • 申请一个变量:new <类型名>(初始值);
    • 申请变量数组:new <类型名>[常量表达式];
    • 如果申请成功返回内存地;
    • 申请失败返回空指针null;
  • 释放内存空间
    • 删除一个变量:delete <指针名>;
    • 删除变量数组:delete []<指针名>;
  • 动态分配和静态分配内存的一些区别;
    • 静态分配在栈上,而动态分配在堆上,后者一般能申请比前者大的多的内存。
    • 前者由程序决定释放而后者不行,系统资源的有效利用;

至此开始正式的面向对象程序设计学习;


寒假学习计划

posted @ 2018-02-08 21:09  水喵桑  阅读(125)  评论(0编辑  收藏  举报