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.

C++暑期学习笔记的更多相关文章

  1. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  2. 获取编译学习笔记 (六)—— si、di,双环

    疯狂暑期学习  汇编入门学习笔记 (六)-- si.di,双重循环 參考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or.就不多说了. [bx+ ...

  3. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. Behave step matcher

    behave 提供3中step匹配模式 'parse' 'cfparse' 基于parse的扩展,  支持cardinality field syntax? 're' 支持在step中定义正则表达式 ...

  2. Extjs相关知识点梳理

      store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表 方法:不列举继承来的方法 Store( Object config ) 构造,config定义为{ autoLo ...

  3. c#调用本地命令并截取Output

    demo1: /// <summary> /// /// </summary> /// <param name="str"></param ...

  4. DBNull.Value 与null

    来源:http://blog.csdn.net/beautifulsarah/article/details/54691670 DBNull.Value,, 适用于向数据库的表中插入空值.而 null ...

  5. 添加List集合覆盖问题

    今天在做一个项目的时候,发现了这样一个问题,为了让大家看得更直接明了,我直接放代码: public void InsertObjectToList(){ List<NewsProtetype&g ...

  6. Java学习--Cookie 和session

  7. 【转】通过CountDownLatch提升请求处理速度

    countdownlatch是java多线程包concurrent里的一个常见工具类,通过使用它可以借助线程能力极大提升处理响应速度,且实现方式非常优雅.今天我们用一个实际案例和大家来讲解一下如何使用 ...

  8. Nginx代理后服务端使用remote_addr获取真实IP

    直奔主题,在代理服务器的Nginx配置(yourWebsite.conf)的location /中添加: #获取客户端IP proxy_set_header Host $host; proxy_set ...

  9. SpringMVC+MyBatis+MySQL 8小时链接断开

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is ...

  10. 实习小结(五)--- SSM框架搭建(Maven项目)

    之前分享了一个普通的SSM框架的搭建方法,感觉还是过于老套,现在都流行使用Maven来管理项目,在这分享一个使用Maven搭建的SSM(SpringMVC+Spring+MyBatis) 1.首先ma ...