zoukankan      html  css  js  c++  java
  • 远征系列---离港篇(学杂记)

    远征----离港

    1.1 离港总动员

    介绍了接下来的学习内容,
    优点:引用(对应c语言的指针),const(对应#define),函数新引进了函数默认值和函数重载。
    缺点:内存管理(得程序员自己负责)。

    2.1 c++语言 引用

    教程里面生动的将引用称作为给别人起别名(也可以说是外号)

    不能只有引用(别名),引用必须初始化。

    分为 普通,指针引用,结构体引用,函数引用

    1普通
    &b=a(改变是对b直接改变,不是&b改变)
    Int a;
    Int&b=a;
    &是不是相当于一个让a与b等同的符号。

    2指针引用(个人认为是难点)

    教程中我明白了:
    Int *p;P=&a;

    Int *p=&a;
    等同,就是连起来写。

    3结构体引用

    疑问:结构体为什么是图片上那么命名的(感觉和课本上的命名方式不一样)
    个人觉得应该是这样子的

    4函数引用

    疑问:感觉int a和int &a是一样的, 为什么还要加上一个&。

    3.1 const(比较好理解,记住格式别搞混就好)

    Const intx=3;相当于固定住x的值
    Const可用于指针
    (const intp=&x或者int const p=&x 固定p p是自由的 如可以让p=&y,但不能p=5;
    int*const p=&x或者int constp =&x固定p可以改变,可以通过这个来改变x的值)

    4.1函数的新特性

    1 函数默认值
    有默认的参数值的必须写在最右端,不能写在中间。

    在声明函数是可以输入参数值,在定义函数时不能输入参数值。
    而且,图中的那几个例子输出的结果比较特殊的。
    (如图 fun(20) 输出的是20 5 10
    fun(20,30) 输出的是20 30 10
    fun(20,30,40) 输出的是20 30 40)

    2 函数重载(就是函数重名)
    个人觉得没什么用,因为名字最好还是区分比较好,自己也不会搞混。
    疑问:奇怪的是要是像void fun(int a,intb,intc=3)和void fun(double a,double b)的话,如果输入(1.2)的话电脑会辨别是哪一个吗
    1算是double类型的吧

    3 内联函数(节省时间,尤其是循环调用的时候)
    使用是在声明的时候函数的最前面加入inline(其他不变)
    使用在比较简单的函数,又是重复使用的时候,但是如果函数中有For循环,while循环。还有递归函数也不能用(递归函数:自己使用自己的函数)。

    5.1内存管理

    资源,操作系统,申请/归还(这就是内存管理)
    个内存 块内存 注意
    申请内存:new int *p=new int; int *arr=new int[10] 注意要判断内存是否申请成功
    如果p==NULL,则申请失败
    释放内存:delete delete p; delete []arr 在释放内存之后要使指针变空
    如(p=NULL)

    初始化:int *p=new int(要赋值的整形) 是括号
    或者 int *p=new int; *p=要赋值的整形;

    使用完后就要释放

    疑问:
    C语言的内存管理没学过(通过比较确实c++的表示方式比较简洁)
    没学过当然就会有疑问了:
    1.什么是内存管理:指软件运行时对计算机内存资源的分配和使用的技术
    2.内存管理的目的又是什么:高效,快速的分配,并且在适当的时候释放和回收内存资源
    可以想像一个很大的程序,当他执行时被操作系统调用,其运行需要的内存数据都被存到磁盘内的虚拟内存,只有需要用到的部分才被加载到主内存内部运行。

    C++内存管理细说:(http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html)

  • 相关阅读:
    SpringMVC+Apache Shiro+JPA(hibernate)
    Win7系统上配置使用Intellij Idea 13的SVN插件
    标志一个方法为过时方法
    Java模板引擎 HTTL
    Spring security与shiro
    墨刀 手机app原型工具
    java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)
    结合MongoDB开发LBS应用
    基于LBS的地理位置附近的搜索以及由近及远的排序
    discuz 发布分类信息,能不能设置单版块去掉“发帖子”(默认点发帖后为自定义的默认分类信息模版)
  • 原文地址:https://www.cnblogs.com/zxlmhh/p/5185960.html
Copyright © 2011-2022 走看看