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. 一个实用的却被忽略的命名空间:Microsoft.VisualBasic

    当你看到这个命名空间的时候,别因为是VB的东西就匆忙关掉网页,那将会是您的损失,此命名空间中的资源最初目的是为了简化VB.NET开发而创建的,所以Microsoft.VisualBasic并不属于Sy ...

  2. IDEA 中edit configurations加号找不到tomcat server

    前言:在本机 idea 中搭建 springMVC 项目,正准备配置 Tomcat 时,发现没有 tomcat server 选项,而我的 idea 是有这个插件的,所以解决问题的方案应该是另一个地方 ...

  3. MarkDownPad 专业汉化破解

     解压Pa_ttrar 运行Pa_ttrar.exe    点击下边第一个按钮“patch”——>弹出窗选择“YES”  选择“YES”后会选择一个文件,找到“C:\Users\用户名\AppD ...

  4. 可缺省的CSS布局——张鑫旭

    一.技术不难.意识很难 有些东西的东西的实现,难的不是原料.技术:而是想不到,或者说意识不到. 例如下面这个简单而又神奇的魔术: 是吧.搞通了,才发现,哦~原来这么回事,很简单的嘛,我也可以实现的!其 ...

  5. 原生javascript实现图片自动轮播和点击轮播代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. node.js(http协议)

    七层网络协议 应用层:浏览器(http,FTP,DNS,SMTP,TeInet)(邓哥)表示层:加密,格式转换(怕别人偷看,加密摩斯电码)会话层:解除或者建立和其他节点的联系(邓哥在想追这个女孩,不再 ...

  7. angular2上传图片

    话不多说,直接写 一.html页面 二.html代码:   <div class="descright"> <div class="clinic-img ...

  8. Linux 线程调度与优先级

    [转] http://blog.chinaunix.net/uid-20788636-id-1841334.html http://blog.chinaunix.net/uid-20788636-id ...

  9. 0ctf2017-babyheap

    前言 又是一道令人怀疑人生的 baby 题. 这道题利用思路非常巧妙,通过 堆溢出 和 fastbin 的机制构造了 information leak, 然后通过 fastbin attack 可以读 ...

  10. 使用office打印到文件功能进行打印测试

     大家在日常的支持工作中常会遇到各种打印问题,所以进行一些打印测试也在所难免.但是每次跑来跑去浪费了宝贵的时间,打印又浪费了纸张资源.我们也会想到安装虚拟打印机,但因为没有合适的软件,结果是我们只 ...