
C/C++
ZLWhappyisOK
这个作者很懒,什么都没留下…
展开
-
C++中的类型转换小结
相对于C,C++由于引入了类,类型转换要更为复杂,除了C中原有的基本类型的显式(强制)和隐式类型转换外,还多了类类型之间,以及类与内置类型之间的相互转换。1 基本类型的隐式转换C和C++基本类型的转换主要发生在赋值语句和表达式计算这两个时候。a)赋值转换一个基本的原则:1)将一个取值范围大的值赋值给一个取值范围小的变量时,系统保留大值的低字节;例如:int a = 0x1...原创 2018-08-10 11:37:39 · 388 阅读 · 0 评论 -
C++中的智能指针
为什么引入智能指针?首先看一个函数:void func(int n){ int *p = new int[n]; return;}相信大家肯定都能一眼看出该函数的缺陷:在函数体内动态分配了堆上的内存,却没有在函数结束前释放,导致了内存泄露。这个问题的解决也很简单,只要添加一行代码即可:void func(int n){ int *p = n...原创 2018-08-28 11:44:24 · 415 阅读 · 0 评论 -
C++函数模板
函数模板的定义template <typename T>void Swap(T &a, T &b){ T temp; temp = a; a = b; b = temp;}函数模板允许我们以泛型的方式编写程序。在写法上,函数模板与普通函数的区别就在于函数定义的开头多了一行对于参数化类型的设置,其中关键字typename也可以...原创 2018-08-29 16:04:05 · 460 阅读 · 0 评论 -
基于Win10 Visual Studio 2017的Direct3D11开发的小结
一、环境配置之前写过一篇关于如何在win10下配置VS2017的Direct3D11开发的开发环境的文章,但写的很繁琐,现在看看有点鸡肋。一方面是由于当时刚刚接触DirectX,不知该如何下手,另一方面是一开始从网上搜到的教程都是基于那个微软已经停止更新的DirectX SDK的,因此浪费了不少时间。所以你现在如果想马上开始着手Direct3D的开发,不用做任何准备工作,只要确保你的系统是...原创 2019-03-01 11:19:16 · 1887 阅读 · 0 评论