C语言:科目二【基础知识】

server/2024/10/20 2:06:16/

文章目录

  • 0x1 常见
  • 0x2 Lambda
  • 0x3 define typedef using
  • 0x4 基类 菱形继承(虚基类)
  • 0x5 构造
  • 0x6 智能指针(涉及RAII概念) todo
  • 0x7 类型推导[auto 与 decltype] todo
  • 0x8 多线程加锁问题
  • 0x9 C语言__attribute__
  • 0xA 错题辨析

0x1 常见

c++ 科目二 每日一题 类相关[初始化列表]
c++ 科目二 每日一题 类相关[override关键字]
c++ 科目二 每日一题 类相关[final关键字]
c++ 科目二 每日一题 类相关[const关键字]
c++ 科目二 每日一题 类相关[三五零规则]
c++ 科目二 每日一题 多态[overload]

0x2 Lambda

c++ 科目二 每日一题 [Lambda] part1
[初步认识]

c++ 科目二 每日一题 [Lambda] part2
[值传递 与 引用传递 的内存区别]

c++ 科目二 每日一题 [Lambda] part3
[捕获不同类型的变量,全局变量,静态变量,局部变量的区别]

0x3 define typedef using

c++ 科目二 每日一题 [define]
https://blog.csdn.net/Wong_Tkpzrl/article/details/140413368
c++ 科目二 每日一题 [typedef]
https://blog.csdn.net/Wong_Tkpzrl/article/details/140446756
c++ 科目二 每日一题 [using]
https://blog.csdn.net/Wong_Tkpzrl/article/details/140446929

辨析1
[define typedef using] define 的处理阶段是在 pre-processing

辨析2
[define typedef using] 别名不是简单替换,不能组合使用

辨析3
[define typedef using] 有了typedef为啥还需要using,泛型编程

c++ 科目二 每日一题 [ typedef 与 using ]

枚举
c++ 科目二 每日一题 [传统类型枚举 & 强制类型枚举]

0x4 基类 菱形继承(虚基类)

基类
虚基类
虚类
纯虚类
C++ 科目二 [继承问题,(菱形继承->虚基类)]
c++ 科目二 每日一题 类相关[ 父类指针指向子类对象 ]
C++ 科目二 [继承问题,virtual函数调用,为什么禁止在virtual使用默认参数]

0x5 构造

委托构造
继承构造
转换[cast] (Emmm 一言难尽)
const_cast(expression);
static_cast(expression);
dynamic_cast(expression);
reinterpret_cast(expression);
C++ 科目二 [const_cast]

C++ 科目二 [static_cast]

C++ 科目二 [dynamic_cast]

C++ 科目二 [reinterpret_cast]

0x6 智能指针(涉及RAII概念) todo

auto_ptr
C++ 科目二 智能指针 [auto_ptr] (c++98引入,c++11停用,c++17废弃)

unique_ptr[c++11引入]
C++ 科目二 智能指针 [unique_ptr] (auto_ptr 的演进版本)

shared_ptr[c++11引入]
C++ 科目二 智能指针 [shared_ptr] (带计数的智能指针)

weak_ptr[c++11引入]
C++ 科目二 智能指针 [weak_ptr] (解决shared_ptr的循环引用问题)

0x7 类型推导[auto 与 decltype] todo

auto
decltype
const 与 constexpr 关键字
const
constexpr
多线程加一
无锁方式【性能好,不精确】
加锁方式【性能差,精确】
atomic方式【性能1/6,精确】
C++ 科目二 [多线程加一]

0x8 多线程加锁问题

mutex

mutex
time_mutex
recursive_mutex
recursive_time_mutex
shared_mutex [C++17]
shared_time_mutex [C++17]
lock

lock_guard [排它锁]
unique_lock [排它锁]
shared_lock [共享锁]
adopt_lock
condition_variable
通知

notify_one
notify_all
等待
wait
wait_for
wait_until

0x9 C语言__attribute__

C函数特性:创建弱符号(weak symbol)
https://blog.csdn.net/Wong_Tkpzrl/article/details/141127830

0xA 错题辨析

C++ 科目二 [错题集锦] part1

c++ 科目二 每日一题 [ 变量的内存分布 ]


http://www.ppmy.cn/server/107008.html

相关文章

mac安装xmind

文章目录 介绍软件功能下载安装1.下载完成后打开downloads 双击进行安装2.将软件拖到应用程序中3.在启动台中搜索打开4.提示损坏问题解决5.执行完成关闭命令窗口6.打开成功,点击继续,跳过登录7.打开成功后,点击关于 小结 介绍 XMind 是一款流…

Java项目中的分库分表实践指南

摘要 随着互联网应用的快速发展,单一数据库实例越来越难以满足高并发和大数据量的需求。分库分表是一种有效的解决方案,它通过将数据分散存储到不同的数据库或表中来提高系统的扩展性和性能。本文将详细介绍Java项目中实现分库分表的策略、步骤和最佳实…

计算机毕业设计选题推荐-高中素质评价档案系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

inflight 守恒算法负反馈解析

终于说到这个话题了。 bbr 不好吗,我自己也做过很多关于 bbr 的仿真验证,现网数据分析以及数学建模,结论均指向 bbr 是一个公平高效且天然不会引发 bufferbloat 的算法,但细节值得商榷: 非理想哑铃拓扑下测量误差的叠…

OpenCV几何图像变换(10)透视变换函数warpPerspective()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 warpPerspective 函数使用指定的矩阵对源图像进行透视变换: dst ( x , y ) src ( M 11 x M 12 y M 13 M 31 x M 32 y M 33 , M…

探索Objective-C中的富文本世界:NSAttributedString与NSMutableAttributedString

标题:探索Objective-C中的富文本世界:NSAttributedString与NSMutableAttributedString 在iOS和macOS开发中,NSAttributedString和它的可变对应物NSMutableAttributedString是处理富文本的强大工具。富文本可以包含多种样式,如不同…

基于Python的机器学习系列(13):Bagging

在上一篇文章中,我们讨论了决策树的原理及其在分类任务中的应用。然而,单一的决策树模型往往容易过拟合,导致泛化能力较差。为了减小模型的方差,我们可以通过构建多个决策树来提升模型的表现。这种方法被称为Bagging(B…

lvs-nat的https模式设置

前言:LVS工作模式分为NAT模式、TUN模式、以及DR模式。在lvs服务器上,设置虚拟ip并做负载均衡使用。使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层(Loader Balancer),中间的服务器群组层&a…