![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C与C++
与C语言、C++有关的文章
tzu-i
崇尚爱与繁荣
展开
-
C++虚函数在什么情况下使用?
虽然可以指向子类的实例,却无法调用子类的func函数。(注意这里分两种情况,一种是A没有实现func,一种是A也有func函数,但子类重写了它。声明了纯虚函数会把类变成抽象类(无法用它实例化),并使得子类必须实现这个纯虚函数才能实例化。我们在A里面把func函数声明为虚函数,那么当A。假设我们有一个类A,还有几个它的子类B1,B2,B3。我们创建一个指针A*,要用它指向各子类的实例。在运行时指向某一个子类的实例的时候,它调用的func就是这个子类实现的func。都无法调用子类的func函数)原创 2023-05-09 18:45:55 · 319 阅读 · 0 评论 -
C++里面<algorithm>的lower_bound, upper_bound怎样理解才make sense?
解答:假设在 [iterator_first, iterator_last) 的范围里,有一个range: [it1, it2),里面元素的值都等于VALUE。那么,上面两个function call里lower_bound返回的就是it1,upper_bound返回的是it2。这样一来,它们的名称叫做lower_bound, upper_bound就很合理了。另外注意一下特殊情况:当这个range为空的时候,it1==it2,lower_bound==upper_bound。原创 2023-05-01 15:32:05 · 83 阅读 · 0 评论 -
C语言里面int8_t的“t”是什么含义?什么时候需要用这种数据类型?
在C99标准 (C语言的ISO标准) 里面,带后缀 “_t” 的数据类型是被设计成跨平台兼容的数据类型。这里"t"代表"type"。也就是说,无论在什么平台上编译,int8_t都是8个bit。所以,什么时候我们需要这种类型呢?当我们预期程序会需要在不同的平台上编译时,或者不确定编译平台对于不带"_t"的数据类型的编译会不会产生与预期不符的结果时。原创 2023-04-28 09:23:59 · 1418 阅读 · 0 评论