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

文章目录

  • 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++ 科目二 每日一题 [ 变量的内存分布 ]

你可能感兴趣的:(C/C++,c语言,开发语言)