- 博客(26)
- 收藏
- 关注
原创 C++20概念
约束子句和约束表达式可以任意嵌套使用可以使用约束子句的地方,不可以使用约束表达式,反之,同理约束表达式是一个常量bool表达式, 约束子句每一个约束条件也必须是bool类型约束表达式可以在任何地方使用,比如if语句,但requires约束子句在约束表达式中或模板声明中使用。下面是一个最简单的概念模板模板变量的声明concept cpt = 约束子句;其中,约束子句的使用和上面讲的相同。
2023-08-28 10:55:49 387
原创 二、类型检查
检查该类型是否是函数类型:如果传入的是一个函数指针类型,需要使用去掉指针标准库使用了一个技巧,先给传入的类型加 const 关键字修饰,之后再判断该类型是否为 const。
2023-08-26 17:55:11 183
原创 一、C++模板元编程
元函数是模板元编程的一个重要的概念。元函数并不是传统意义山的函数,本质上上利用模板、模板特化进行类型推断和操作的一种机制。用于在编译时进行类型检查、类型推断等。:利用模板技术,在编译阶段完成类型推断、数值计算等操作的一中编程方法。首先引入两个概念 模板元编程和元函数。
2023-08-26 17:19:51 69
原创 类型转换etc
bit_cast不会修改内存上的]真实数据,而是以不同的视角去解释内存上的二进制数据。将 char[4]的内存模型转换为 int 类型的内存模型。
2023-08-25 23:15:04 71 1
原创 &、const&、&&、const&&修饰成员函数,它们分别由哪些对象调用
&、const&、&&、const&&修饰成员函数,它们分别由哪些对象调用
2023-08-24 21:34:12 328 1
原创 string学习笔记
使用指定位置的string对象初始化使用指定位置和长度的string对象初始化参数顺序:目标对象、目标对象起始位置、目标对象长度constructor、assign和append系列,可以理解为初始构造、重新构造和追加构造。它们的方法大致相同。使用n个字符使用string对象或string_view对象//如果不想指定起始位置,可以使用3使用字符数组//如果想指定起始位置,可以使用2使用初始化列表或迭代区间//迭代区间//初始化列表。
2023-08-24 11:04:24 107 1
原创 string_view学习笔记
sv对象不拥有数据,只是对数据的引用。不允许修改sv对象内部的数据sv对象引用的数据要有足够长的生命周期//字符串的长度,不一定是strlen(_M_str)//对字符串的引用,通过指针去访问,并没有开辟一个新的数组。
2023-08-21 23:28:59 142 1
原创 标准库:integer_sequence
C++标准库中integer_sequence,以及说明`make_integer_sequence`如何实现的
2023-08-08 12:09:05 196
原创 C++IO流对象的一些探究
因为IO流类重载了bool,因此,可以使用流类对象本身去表示自身的状态。我们可以在while的条件判断框内,去获取特定类型的数据。比如,标准库里面的IO类。这样就可以解释下面的代码。,因此,就会退出循环。
2023-07-16 10:56:37 37 1
原创 C++是如何统一流对象的行为的
输入流istream、输出流ostream2. 文件流输入流ifstream、输出流ofstream3. 字符流输入流、输出流。
2023-07-15 22:10:49 42 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人