C++学习总结概要记录

asm:这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻
址访问,从而提高效率。登记册关键字指定变量是要在计算机中存储的注册

mutable:这个关键字只适用于非静态和非const数据类成员。如果一个
声明数据成员是可变的,那么它是合法的赋值从这个数据成员
aconst成员函数

volatile
说明变量在程序执行中可被隐含地改变,表明某个变量的值可能在外部被改变,优化器在用到这个变量时

必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。


extern std::string name("exercise 3.5a")是定义.

const int &rval3 = 1;//合法
int &rval3 = 1;//非法

ispunct(ch)//判断是否是标点符号;

单粒模式:构造函数定义在保护成员里,public里定义static成员函数来构造初始化实例。一般私有成员里定义指向本类的指针。
//单粒模式例子start
class CSingleton
{
public:
    static CSingleton *GetInstance()
    {
        cout << __FUNCTION__<<"111" << endl;
        return &m_Instance;
    }
    void prin()
    {
      cout<<cstr<<endl;
    }

protected:
private:
    static CSingleton  m_Instance;
    char cstr;
    // hide constructor
    CSingleton()
    {
        cout << __FUNCTION__<<"222" << endl;
        cstr='1';
    }
   
};

CSingleton CSingleton::m_Instance;

//单粒模式例子end

函数参数的默认形参是从末尾开始算起,int fun(int x,int y,int z=0);


静态成员变量可以被成员函数访问,但静态成员函数只能访问静态成员变量

选择容器类型法则:
vector,deque------------程序要求随机访问元素。
list--------------------中间位置插入删除元素。
deque-------------------首尾插入删除元素。
map---------------------关联值和关键字,通过关键字访问到值,自动排序快速访问元素。

继承规则:
public继承:基类的public为派生类的public成员,protected也为派生类的protected成员.
protected继承:基类的public和protected为派生类的protected成员。
private继承:基类的所有成员都为派生类的private成员。


派生类只能初始化自己的直接基类,不能初始化间接基类。

纯虚函数----只为派生类提供可覆盖接口,用户不能创建该类的对象。

C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual
关键字,基类的函数将被隐藏(注意别与重载混淆)。
(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual
关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。有virtual则是覆盖。覆盖就是看不见,隐藏就是通过类名::函数名可以访问到

 gcc/g++ -o test test.c


数组动态分配-----编译时不知道大小的数组,运行时才知道,int *p=new int[n],这个n可以是调用函数的返回值也可以是前面经过计算的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值