- 博客(9)
- 问答 (7)
- 收藏
- 关注
原创 C++ 类的成员函数做友元产生的循环依赖问题
类的成员函数做友元时,极易产生循环依赖问题,导致程序无法编译通过。何谓循环依赖,简单举个例子,A类的定义需要完整的B类,B类的定义又需要完整的A类,两者相互依赖,都无法完成定义,这种现象便是循环依赖。
2022-03-21 18:23:26
1681
1
原创 C++ 函数匹配 重载函数的调用规则
多数情况下,我们可以很容易的判断出该会调用哪一个重载函数,例如,调用的重载函数之间形参数量不同,形参的类型有明显的区别等。但是,当几个重载函数形参数量相等、具有默认形参以及形参又可以发生类型转换时,判断会调用哪个重载函数就显得不那么明了。了解重载函数的调用规则有助于我们的判断。函数匹配可以划分为三个步骤,分别为:选定候选函数,选定可行函数,寻找最佳匹配。
2022-03-20 18:38:40
2539
原创 C++ 算术转化 算术类型之间相互转化所遵循的规则说明
算术转化的含义是把一种算术类型转换成另外一种算术类型。算术转化的规则定义了一套类型转换的层次,其中运算符的运算对象将转化成最宽的类型。
2022-03-07 11:42:41
862
原创 C++中 size_t , size_type , ptrdiff_t , difference_type 等类型的简单说明
最近看《C++ Primer》,其中出现不少和机器类型相关的有符或无符类型,在这里简单汇总说明下。和机器类型相关是指,该变量的真实类型与操作系统相关,在不同的操作系统下可能会表现出不同的类型,类型的大小会发生变化。使用和机器类型相关的变量的一大好处就是,可以提高程序的可移植性。size_tsize_t是一种和机器相关的无符号的类型,它被设计的足够大以便能表示内存中任意对象的大小。size_t定义于头文件cstddef中,该头文件是C标准库stddef.h头文件的C++语言版本。在32
2022-03-05 11:38:03
2165
原创 C++ Primer 第5章学习 —— “语句”
通常情况下,语句是顺序执行的。但除非是最简单的程序,否则仅有顺序执行远远不够。因此,C++语言提供了一组控制流语句以支持更复杂的执行路径。
2021-11-15 19:58:13
826
原创 C++ Primer 第四章学习 —— “表达式”
表达式由一个或多个运算对象组成,对表达式求值将得到一个结果。字面值和变量是最简单的表达式,其结果就是字面值和变量的值。把一个运算符和一个或多个表达式组合起来可以生成较复杂的表达式。4.1 基础本部分先把概念罗列出来,后面再逐一讲解。4.1.1 基本概念C++定义了一元运算符和二元运算符。作用于一个运算符对象的是一元运算符;作用于两个运算对象的是二元运算符。除此之外还有一个三元运算符。函数的调用也是一种特殊的运算符,它对运算对象的数量没有限制。一些符号既能作为一元运算符又能作为二元运算
2021-11-09 22:03:24
1266
原创 C++ Primer 第三章学习 —— “字符串、向量和数组”
本章将介绍两种最重要的标准库类型:string和vector。string表示可变长字符序列,vector存放的是某种给定类型对象的可变长序列。
2021-10-31 17:50:07
444
原创 C++ Primer 第二章学习
C++语言支持广泛的数据类型。它定义了几种基本内置类型,同时也为程序员提供了自定义数据类型的机制。基于此,C++标准库定义了一些更加复杂的数据类型,比如可变长字符串和向量等。本章主要讲内置数据类型。
2021-10-30 20:08:50
277
空空如也
C++ 静态成员类的内初始化的问题
2022-03-23
C++ 关于v.begin() 和 begin(v)的问题
2022-03-13
UE4 学着制作了一个快速更改文件名的控件,但一直没成功,望分析下问题在哪里
2022-02-20
C++ 关于赋值运算符的概念性问题
2021-11-09
关于vs编译器的文本格式设置问题,如何让类型修饰符(*或&)不自动和数据类型贴在一起?
2021-10-29
c++ 关于对vector容器名直接取址的问题
2021-10-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人