自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 QT中的Qset<T>一些细节

1.Qset和C++stl中的set一样,都是只能存放不一样的元素,但是C++stl中的set底层是红黑树实现,元素按顺序从小到大排序,而QSet底层是利用哈希值实现,元素是乱序。QsetT得是基本数据类型,如果是自定义数据类型,则必须重载该类型的“==”运算符,并且重写全局函数qHash(),用以得到该自定义类型的每一个对象的哈希值,否则会报错。以上内容为在B站学习up主“爱编程的大丙”的QT斗地主项目时所得,此文章仅作笔记使用。...

2022-07-26 20:25:29 1470 1

原创 传参中隐含的深拷贝与浅拷贝问题

在练习过程中做一道题时,遇到了程序崩溃的问题:源代码如图:(省略了<<、>>重载部分)class V{public: V() { size = 0; data = new int[10]; } V operator+(V v1); V operator-(V v1); V operator*(V v1); V& operator=(const V& v1) { delete data; data = NULL; s

2022-03-15 14:51:05 420

原创 默认参数一些细节

有如下代码,在声明中给出了默认参数c=0然后分别写了三个函数体,测试哪个可以通过#include<iostream>using namespace std;int max(int a, int b, int c = 0);int max(int a, int b, int c= 2){ return a;}int max(int a, int b, int c = 0){ return a;}int max(int a, int b, int c){ ret.

2021-12-12 13:36:26 358

原创 强制类型转换的一些易错点

对于以下代码,输出结果是什么?#include<iostream>using namespace std;int main(){ cout << (double)(3 / 6) << endl; cout << (double)3 / 6 << endl;}结果如图:由于括号优先级最高,故第一行先运行3/6得0,再强转换为double,仍为0第二行从左到右执行,先把3强转换为3.0,再进行运算,故得0..

2021-12-11 22:47:18 344

原创 cin>>的逻辑返回值

cin>>其实具有一个逻辑返回值,control+z使cin>>的输入函数返回0看以下代码#include<iostream>using namespace std;int main(){ int a; for (int i = 0; cin >> a; ++i) { cout << i << endl; } }测试结果:其中输入1,输出0,输入2,输出1,输入contrl+z,结束运行.

2021-12-11 22:36:29 1070

原创 在学习后置自增运算符重载时发现的问题

下面是完整代码:#include<iostream>using namespace std;class MyInteger{ friend ostream& operator<<(ostream& cout, MyInteger p);public: MyInteger() { m_A = 10; } //前置自增运算符重载 MyInteger& operator++()//返回引用是为了一直对一个数据进行操作 { //.

2021-10-17 19:49:01 328 6

原创 C++中十进制数转二进制数的几种算法

常规法:int func2(int a) { while (a) { int b = 0;//c初始化b int c = 1;//10的0次幂即为1 a = a / 2;//得到商,用作下一次运算 b += c * (a % 2);//计算结果 c *= 10;//给c升幂 return b; //b即为结果 } }int main(){ int a; cin>>a; func2(a); cout<&l

2021-10-15 16:07:45 786

原创 cin>>a,b;输入的值会赋给谁呢?运算符的优先级问题

对如下代码int a =1;int b=2;cin>>a,b;cout<<a<<endl;cout<<b<<endl;倘若输入10,则输出结果是什么?这就涉及到运算符优先级的问题了。"<<"是流提取运算符,由于“<<”的运算级高于“ , ”,故计算机先运行cin<<a,运行完这步后剩下了“,b”,不能给b进行赋值,故10赋给了a,而b的值没有变化。要注意的是,以上例...

2021-09-27 00:00:47 2532

原创 关于逻辑或“||”的注意事项

先来看一个题目答案很简单,是1。但是j和k的值是多少呢?由于计算机要尽量减少运行次数,而对于逻辑或,“一真为真”,故当左侧++i的返回值为1时,已经能判断该逻辑表达式结果为1了,故计算机选择不再执行右侧的 --j&&++k 了,因此j的值仍为1,k的值仍为2。...

2021-09-26 23:32:54 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除