- 博客(46)
- 收藏
- 关注
原创 【深度C++】之“decltype”
decltype被称作类型说明符,它的作用是选择并返回操作数的数据类型。随着程序越来越复杂,有时候根本搞不清到底需要什么类型,不得不回过头去从上下文进行推测。decltype可以作用于变量,也可以作用于表达式。
2020-06-27 20:32:58 57460 22
原创 【深度C++】之“const”
有时我们希望定义一种值不能改变的变量,既可以随时调整,又可以警惕防止程序修改这个值。C++中使用const限定符来实现,它的用法,你都了解吗?
2020-05-31 00:09:59 1142 1
原创 【GAMES103学习笔记】刚体(Rigid Body)
我们生活的空间中,存在着非常多的不会轻易变形的物体,在计算机图形学中,被称为刚体(Rigid Body)。刚体模拟(Rigid Body Simulation)的核心目标,就是给定了物体初始状态后,根据时间的变化,求得物体的新状态。我们这里定义的刚体物体不会形变,所以刚体运动(Rigid Body Motion)只允许做平移和旋转运动。...
2022-08-09 00:33:03 1003
原创 【深度C++】之“运行时类型识别RTTI”
运行时类型识别(run-time type identification, RTTI)功能可以获得某类型在运行时的具体动态类型,进而使用该类型的功能。动态类型指的是程序在运行时才可知的类型,与静态类型相对应。
2020-07-09 20:59:22 1030 1
原创 【深度C++】之“对象移动”
当某类类型有动态管理内存的需求,在拷贝和赋值该类类型对象时,某些情况下,拷贝源在使用后就被销毁了。当出现上述情况,使用对象移动操作可以避免二次开销。
2020-07-05 23:45:48 661 3
原创 【深度C++】之“lambda表达式”
很多语言都支持了lambda表达式,其灵活性让所有使用者为止赞美。C++如何定义和使用lambda表达式呢?对于这样一个强类型语言,C++是如何实现的呢?
2020-07-04 22:03:33 1032 2
原创 【深度C++】之“函数指针”
使用函数的返回类型和形参列表,我们可以定义一种名为函数类型的东西。使用函数类型,可以定义指向该类型的函数指针。使用函数指针,可以向函数中传递函数指针和返回函数指针,极大程度上增加了代码的灵活度。
2020-07-02 20:47:12 1048 1
原创 【深度C++】之“函数匹配”
函数匹配,也称作重载确定,它是一个过程,主要任务是找到一个与实参最佳匹配的函数。当我们调用一个函数时,多数情况下是确定的一项操作。当包含有重载的函数时,事情就变得复杂了。对于函数匹配到规则,你了解吗?
2020-06-30 15:36:15 1005 1
原创 【深度C++】之“auto”
auto被称作类型说明符,它可以让编译器替我们去分析表达式所述的类型,然后将所定义的变量声明为该类型。auto与复合类型搭配比较复杂。
2020-06-28 15:44:43 642 1
原创 【深度C++】之“类型别名”
随着程序越来越复杂,程序中用到的类型也越来越多,一些类型难于“拼写”,它们的名字既难记又容易写错,还无法明确体现其真实目的和含义。此时可以使用“类型别名”技术,帮助我们书写条理清晰、易于阅读的代码。关于类型别名,主要是typedef和using声明,你都了解吗?
2020-06-26 22:40:54 1532 1
原创 【深度C++】之“函数重载”
函数重载(overload)是同一作用域内的几个函数名字相同但形参列表不同的函数。善用函数重载,可以帮助我们减轻起名字的负担,让我们编写更加易于阅读的代码。
2020-06-26 00:01:54 556 1
原创 【深度C++】之“指针”
指针是C++中的一种复合类型,是指向另外一种类型的复合类型,实现了对其他对象的间接访问。指针是C系列语言最难理解的,很多高级语言包括Java、Python都取消了指针相关内容。但是指针的使用是体现一位程序员计算机思维水平的标杆。关于指针,你都了解吗?
2020-06-21 22:25:45 323 1
原创 【深度C++】之“引用”
引用是C++中的一种复合类型,实现了对原对象的间接访问。使用引用,可以极大程度的优化我们的程序的性能。关于引用的知识,你都了解吗?
2020-06-21 15:09:48 655 1
原创 【深度C++】之“数组”
数组是C++中的一种复合类型,是多个类型相同的对象的容器。关于数组的使用,已逐渐被标准库中的vector替代,但某些情况下,使用数组的开销要远远优于vector,甚至某些情况下必须使用数组。关于数组的知识,你都了解吗?
2020-06-21 00:09:58 369 1
原创 【深度C++】之“常量表达式constexpr”
常量表达式是指值不会改变,在编译过程中就能得到计算结果的表达式。使用constexpr可以修饰变量、函数,为了方便总结和归纳,还定义了一类名为字面值类型的数据类型。使用constexpr可以极大优化我们的代码,它的用法,你了解吗?
2020-06-16 21:31:57 1934 1
原创 【深度C++】之“左值与右值”
在“表达式与运算符”中,我们曾提到过:表达式有一个性质,就是可以求值,对表达式求值将得到一个结果。这个结果到底是什么呢?是一个值?还是一个对象?如果是一个对象的话,我可不可以再修改它的内容?这就是本文要讨论的左值与右值的性质。
2020-06-15 23:44:28 4774 2
原创 【深度C++】之“表达式与运算符”
C++中的表达式是构成C++代码语句的基础,表达式由运算对象、运算符组成以及子表达式组成,他们之间组合的规则,你都了解吗?
2020-06-15 21:00:51 1638 1
原创 【深度C++】之“sizeof运算符”
sizeof运算符作用于表达式或一个类型的名字,得到它们所占的字节数。它与基本内置类型、自定义数据类型和复合类型作用时,结果完全不一样,你都了解吗?
2020-06-14 17:25:39 1836 1
原创 【深度C++】之“类内存布局”
C++中的类内存布局,是编译器排版类内成员变量的一种算法,要考虑数据对齐、虚函数和各种继承方案情况下不同的排版方式。
2020-06-14 16:57:27 808 3
原创 【深度C++】之“内存对齐”
我们在获得C++自定义的类或者结构体的大小时,得到的数值通常不是所有数据成员直接相加的结果,你知道这是为什么吗?
2020-06-10 23:59:08 770 1
原创 【深度C++】之“类型与变量”
程序的主要功能就是输入数据、处理数据、输出数据。数据类型是程序的基础,它告诉我们数据的意义以及我们能在数据上执行的操作(运算)。C++中支持广泛的数据类型,你都了解吗?
2020-06-07 17:45:58 1324 1
原创 【深度C++】之“类型转换”
C++中的类型转换是C++定义的类型普遍支持的一种运算,分为隐式转换和显示转换两种;隐式转换机制情况众多,显示转换还有4种命名的类型转换运算符,你分的清吗?
2020-06-06 20:35:49 824 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人