0%

  • share_ptr
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    template<class T>
    class share_ptr{
    T& operator*() const{
    return *px;
    }

    T* operator->() const{
    return px;
    }

    share_ptr(T* p):px(p){}

    private:
    T* px;
    long* pn;
    }
    Read more »

  • 转换函数
    1
    2
    3
    operator double() const{ //表示在需要转换为double时调用这个函数,将对象转换为double 返回值不需要编写
    return (double)(m_numertor / m_denominator)
    }
    Read more »

  • Variadic Templates(可变参数模板)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // 可变参数模板
    // 无参数函数,用于结束调用
    void printX(){

    }
    // 包含一个参数固定参数的可变模板函数
    template <typename T,typename... types>
    void printX(const T& firstArg,const Types&... args){
    cout<< firstArg<<endl;
    printX(args...);
    }

  • 空指针

    1
    2
    3
    4
    5
    void f(int a){}//function1
    void f(void* a){}//funtion2
    f(NULL);//call function1
    f(0);//call function1
    f(nullptr);//call function2
  • 模板函数书写变化

    1
    2
    vector<vector<int> >//
    vector<vector<int>>//Ok since c++11
    Read more »

  • inline(内联函数)

    若在函数体内定义完成,变为内联函数的候选人
    inline 函数运行更快,inline 只是建议,具体是否使用由编译器决定

  • 拷贝构造

  • 拷贝赋值

    包含指针需要单独实现,不可用默认的

  • 虚函数

  • 虚函数表

    Read more »

  • 是存在于某一作用域内的数据,在函数内声明的任何变量,其所使用的内存块都取自上述stack

  • 实在system heap,是由操作系统提供的一块global 内存空间,系统可动态分配其中的若干块,但是要

Read more »

基本概念

c与cpp 的区别

语言 c cpp
Object Base(基于对象) Object Oriented(面向对象)
面对**单一的class(类)**设计 面对多重classes的设计,着重于class之间的关系
头文件的书写区别 注(头文件的后缀名在不同平台可能不同)引用c的头文件要在前面加c <stdio> <cstdio> <iostream>
Read more »