以太坊 自承式光缆 二代征信 button rss seo vue代码规范 vue动态绑定class 后台管理界面 前端项目实战 jq第一个子元素 mysql当前时间减一天 大数据项目开发案例 oracle查询所有数据库 mac安装hadoop hadoop特点 excel动态图表制作 abaqus是什么软件 matlab求向量的模 kafka启动命令 linux重启mysql mysql删除表 郑州普通话 react python函数的调用 java时间戳转换成时间 java案例 java获取当前月份 java类和对象 java替换字符 java接口开发 linux用户 win10长期服务版 亚索刀光特效包 lseek函数 笔记本测试软件 音乐狂app 3d看图软件 php正则匹配 华为手机刷公交卡
当前位置: 首页 > 学习教程  > 编程语言

C++知识点笔记

2021/2/13 20:24:48 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

1 对象间的关系 包含 一个对象是另一个对象的属性。继承 一个对象是另一个对象的特例。关联 一个对象的引用是另一个对象的属性。(没有特定规范) 强关联:引用 弱关联:指针 2 虚表指针 当对象中有虚函数时, 调用 构造…

1 对象间的关系

  1. 包含
    一个对象是另一个对象的属性。
  2. 继承
    一个对象是另一个对象的特例。
  3. 关联
    一个对象的引用是另一个对象的属性。(没有特定规范)
    强关联:引用
    弱关联:指针

2 虚表指针
当对象中有虚函数时,
调用 构造函数、拷贝构造函数开始第一件事就是设置虚表指针指向该对象
析构函数是重置虚表指针

析构函数可以设计成虚的,构造函数不可以
没写析构函数的话,系统不会自动生成析构函数,只有一个语义的析构

new delete new[] delete[]

3 const 赋值兼容性规则

 int a = 10;
 int *p = &a;//p指向a,可以改变a的值,也可以值向别的变量。
 
 const int *p = &a;//p指向a,但不能改变a的值,但可以指向别的变量。
 
 int * const p = &a;//p指向a,可以改变a的值,但不可以指向别的变量。
 
 const int * const p = &a;//p指向a,不能改变a的值,也不能指向别的变量。

普通对象优先调动普通方法,没有普通方法也可以调动常方法。

常对象只能调动常方法。

4 C++中无法获取返回值

int fun()
{
    int a =10;
    return a;
}

5 自旋锁

相对于互斥锁,自旋锁是一种轻量级的锁。
别的线程获取了锁,CPU依然占用着该线程资源。

而互斥锁在需要等待时,不会一直空转消耗CPU。
会阻塞并切换到别的线程执行,较为耗时。

因此,在锁的竞争不繁忙,和该锁保持的代码执行时间较短的情况下,可以使用自旋锁,不会因为等待时间长而浪费CPU资源。


本文链接: http://www.dtmao.cc/news_show_700472.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?