美文网首页
Boolan_C++_OOP

Boolan_C++_OOP

作者: FlyTheKite | 来源:发表于2017-07-14 00:01 被阅读18次

    为什么 学习 C++?

    他的效率 比其他 面向对象 语言,
    更快。

    作用域,Scope 大括号

    以 良好的方式, 编写 C++ class

    • Class without pointer members
      Complex , 没指针
      不带指针的类, 多半不用写 析构函数。
      复数, 包含 实部 和虚部。
    • Class with pointer members
      String, 有指针
      字符串, 其实 是个 ptr, 指向一串字符。

    学习 C++,

    • 语言部分
    • 标准库 部分

    C++ 98
    (1.0 ) 1998

    C++ 11
    ( 2.0 ) 2011

    STL, Standard Template Library.

    C语言,
    数据定义在 结构体中。类型。

    数据变量, 都是 全局的。
    各个函数 , 都可以 去处理数据。

    C ++,
    Class / Struct,
    Data Members,
    Member Functions.
    把 数据 和 函数 包在一起。

    Guard 防卫式声明
    # ifndef
    # define
    # endif
    

    {
    条件 编译.
    防止 在 一个 .cpp 里面,
    include 同一个 .h 文件 多次。
    而出现, 那个 .h 的声明 , 被重复出现。
    }

    Class Template 模版
    template < typename T > 函数模板

    构造函数 ctor 放在 private 区。
    public 区, 放一个 单例。

    不会改变的内容前面,
    ( get 方法 ),
    实现前面,加 const.


    参数传递

    • pass by value 尽量不要传值。
      整包 传过去。
      Value 多大, 都传。
      传的动作, 就是 压到 函数的 栈( Stack )里面。
    • pass by reference ( to const )
      有 取地址 符号。( & )
      引用 在底部 就是一个指针。
      传引用, 就相当于传指针。
      传引用, 速度很快, 传递指针的 速度, 4个字节。
      最好, 所有的 参数传递, 都传引用。
      参数少于 4字节, 传value.

    我们是 同一个东西,
    函数一改, 就影响了 我。
    解决:
    pass by reference to const

    C 可以传 指针。
    我要传 这一包东西,
    这包东西太大了,
    我就把 这一包东西的 地址 , 传出去。

    返回值 传递

    • return by value
      没有 by reference 好。
      他比较差, 比较慢。
    • return by reference ( to const )
      尽量 这样做

    用 reference 的 好处,
    传递者 无需知道 , 接受者 是以 reference 形式接收。

    用 point 来 pass value,
    传的人 必须知道 现在传的是 什么东西, 要有一个 特殊符号。

    操作符 重载, Operator Overloading


    this, 调用者

    所有的 成员函数, 一定带着一个 隐藏的 参数。
    那个参数, 我没有写, 但是他在。
    谁调用这个函数, 那个谁, 就是 this.

    this , 是一个 指针。

    编译器 ,把 operator 符号 ,
    作用在 左边。

    *ths, 是 指针所指的东西,
    一个 object/ value.

    看 function name ,
    就知道
    这是 成员函数, 还是 全局函数。

    typename ( 临时对象)
    等同于 int (sth )

    临时对象, 他临时才要的。
    他的生命 到下一行 ,就结束了。

    negate 取反, 反向

    +

    正号, 还是 加法 ?
    编译器 通过 参数, 识别。

    相关文章

      网友评论

          本文标题:Boolan_C++_OOP

          本文链接:https://www.haomeiwen.com/subject/rnaghxtx.html