C/C++
文章平均质量分 56
学c语言整理的一些东西
Izumi Sagiri
这个作者很懒,什么都没留下…
展开
-
C++ 中的浮点数存储问题
问题今天给别人写了个简单的小程序,本来以为十分钟就能解决战斗,但是有一个地方让我产生了困惑。程序需要让我输出一个保留两位的浮点数ans。但是我的输出是2.59,样例输出的是2.60。我很奇怪,掏出计算器来算,ans的值是2.595,看来是我的程序出了问题。但奇怪的就在于,我的输出方式没有任何错误,而且我输出ans也是2.595,我输出2.595这个数也是2.60。于是乎我打开了调试,当ans被计算出来的时候我立即就想起来了。在double中 数据的存储并不是那么精确,2.595在double中是以原创 2021-04-29 09:24:28 · 163 阅读 · 0 评论 -
C++:Lambda表达式
在C++ 11 中,Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。为什么可以简化编程工作呢,我们以QT中的connect为例。我们可以用Lambda表达式直接作为参数 而不用再另去定义槽函数,为编程工作提供了方便。构成[ ] ( ) mutable-> return type{ }当看到这东西的时候你是不是一脸懵逼,不要急,我们一点一点来看。函数对象参数写于[ ] 中的参数Lambda表达式 不能访问封闭函数中的局部变量,所以我们通过这个参数让Lambda表达式可以访原创 2021-03-17 20:45:04 · 2613 阅读 · 0 评论 -
C++:多态
多态分类静态多态 运算符重载 函数重载都属于静态多态 复用函数名动态多态 在虚函数和派生类之间实现运行时多态多态特点静态多态 函数地址早绑定 编译阶段就确定好了函数的入口地址动态多态 函数地址晚绑定 运行阶段才能确定好函数的入口地址为什么要有多态通过以下例子class Animal{ public: void speak() { cout << "动物在说话\n"; } int p;};class Cat : public Animal{ pu原创 2021-03-02 11:36:33 · 87 阅读 · 0 评论 -
C++:类继承
有时候 一些东西有共性 也有不同的地方 但是我们又不想把共性重写一遍 那么我们就能用到类继承类继承基本语法class 子类 : 继承权限 父类三种继承方式公共继承 保护继承 私有继承公共继承 除了private不可访问 其余成员在子类权限不变保护继承 除了private不可访问 其余成员在子类变成保护权限私有继承 除了private不可访问 其余成员在子类变成私有权限下面我们对三种权限进行测试使用共同的父类class Father{public: int m_a;protect原创 2021-02-02 22:09:32 · 119 阅读 · 0 评论 -
C++:重载运算符
写在前面运算符重载在学的时候着实把我绕进去了,他的实质是用常规运算符实现特殊数据类型的计算。如int a = 10 , b = 20;int c = a + b;+可以实现a和b的相加class Person{ ……}Person a , b;Person c = a + b;但如果是Person类型 他们还能相加吗显然编译器不知道 所以我们需要用到重载运算符 让编译器按照我们的方式计算重载加号运算符假如我们有一个类class MyInteger{public: M原创 2021-01-14 13:39:17 · 189 阅读 · 1 评论