![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Mr~Black
执着于c/c++
展开
-
C++学习记录之C++模板
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如,我们可以定义许多不同类型的向量,比如或。您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。原创 2023-11-15 15:10:06 · 33 阅读 · 1 评论 -
C++学习记录之C++中的运算符重载
声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。下面的实例使用成员函数演示了运算符重载的概念。在这里,对象作为参数进行传递,对象的属性使用。您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。原创 2023-11-10 09:50:24 · 28 阅读 · 1 评论 -
C++学习记录之C++指针数组
在这里,把声明为一个数组,由 MAX 个整数指针组成。因此,ptr 中的每个元素,都是一个指向 int 值的指针。原创 2023-11-05 22:36:24 · 30 阅读 · 1 评论 -
C++学习记录之Lambda 函数与表达式
另外有一点需要注意。对于[=]或[&]的形式,lambda 表达式可以直接使用 this 指针。原创 2023-11-05 15:01:06 · 29 阅读 · 1 评论 -
C++学习记录之thread_local 存储类
使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。变量在创建线程时创建,并在销毁线程时销毁。每个线程都有其自己的变量副本。可以将 thread_local 仅应用于数据声明和定义,thread_local 不能用于函数声明或定义。thread_local 说明符可以与 static 或 extern 合并。原创 2023-11-05 12:29:21 · 179 阅读 · 1 评论 -
C++学习记录之C++常量
请注意,把常量定义为大写字母形式,是一个很好的编程实践。原创 2023-11-04 22:25:14 · 18 阅读 · 1 评论 -
C++学习记录之C++注释
下面的代码如果 condition 条件为 true 执行 code1 ,否则执行 code2。#if 0 ... #endif 属于条件编译,0 即为参数。你可以把 #if 0 改成 #if 1 来执行。块注释符(/*...*/)是不可以嵌套使用的。这种形式对程序调试也可以帮助,测试时使用。来执行测试代码,发布后使用。后可以是任意的条件语句。原创 2023-11-04 21:15:50 · 27 阅读 · 0 评论 -
C++学习记录之数据类型
默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。重新解释转换将一个数据类型的值重新解释为另一个数据类型的值,通常用于在不同的数据类型之间进行转换。的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1,但 red 的值依然为 0。静态转换通常用于比较类型相似的对象之间的转换,例如将 int 类型转换为 float 类型。类型转换是将一个数据类型的值转换为另一种数据类型的值。原创 2023-11-04 21:42:45 · 28 阅读 · 1 评论