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. 扩展jquery插件的方式

  2. __block和__weak修饰符的区别

    block下循环引用的问题 __block本身并不能避免循环引用,避免循环引用需要在block内部把__block修饰的obj置为nil __weak可以避免循环引用,但是其会导致外部对象释放了之后, ...

  3. C#设计模式六大原则——接口隔离

    接口隔离定义: 一般有两种定义: 1:客户端不应该依赖他不需要的接口     2:类间的依赖关系应该建立在最小的接口上 我们在建立接口时,应该尽量建立单一,不臃肿庞大的接口,应尽量使接口细化,方法尽量 ...

  4. Java虚拟机 - 符号引用和直接引用理解

    java -- JVM的符号引用和直接引用 https://www.zhihu.com/question/50258991 在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号 ...

  5. 中小型研发团队架构实践七:集中式日志ELK

    一.集中式日志 日志可分为系统日志.应用日志以及业务日志,系统日志给运维人员使用,应用日志给研发人员使用,业务日志给业务操作人员使用.我们这里主要讲解应用日志,通过应用日志来了解应用的信息和状态,以及 ...

  6. c#无边窗体实现移动的两种方式

    转载:http://blog.csdn.net/dxsh126/article/details/2940226 首先,要用到一个WimdowsAPI函数,因此必须引入 using System.Run ...

  7. Flex Box 简单弹性布局

    弹性盒子模型有两种规范:早起的display:box 和后期的display:flex.它可以轻易的实现均分.浮动.居中等灵活布局,在移动端只考虑webkit内核时很实用. 一.display:box ...

  8. onInterceptTouchEvent与onTouchEvent默认返回值

    其中Layout里的onInterceptTouchEvent默认返回值是false,这样touch事件会传递到View控件,Layout里的onTouch默认返回值是false, View里的onT ...

  9. Object hashcode

    java jvm怎么找到一个对象? 一个对象有一个独一无二的hashcode,这样就可以找到这个对象了. 但java 的hashcode 实现的不好,有可能两个不同的对象有一个相同的hashcode, ...

  10. 使用Axure设计中,大型的后台系统原型总结

    使用Axure设计中,大型的后台系统原型总结 2018年4月16日luodonggan 在产品原型设计中,经常会涉及到后台系统原型的设计,如何设计出更规范标准的后台系统原型,是很多产品同行们都会遇到的 ...