![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
悟空丶kong
这个作者很懒,什么都没留下…
展开
-
C++中的多值返回
方法一:pair<void,void>运用STL库中的pair<void,void>类型,返回时要用大括号{}括起来,如return {i,j},接收时用一个参数接收,通过小数点加first或者小数点加second访问返回值。受到返回数量限制。方法二:vector受到类型限制。方法三:Struct结构体用结构体返回。...原创 2019-02-21 16:20:08 · 1076 阅读 · 0 评论 -
不能用等号判断两个小数是否相等
double f1,f2;...if(f1==f2)...上面的代码是有错误的...由于精度的原因,所以不能用等号来判断两个小数是否相等。可以设置一个极小值来相对判断,参考代码如下:bool isEqual(const double a, const double b) { const eps_0 = 1.0e-6, rel_error = 10e-4; bool...原创 2019-02-19 17:31:50 · 1765 阅读 · 0 评论 -
用一条语句判断一个整数是不是2的整数次方
int judge(int num){ return !(num&(num-1));}如果一个数是2的整数次方,那么它的二进制中只有一个1,利用好这个性质。原创 2019-02-19 17:09:37 · 379 阅读 · 0 评论 -
c++输入一组数字以回车结束
用list:list<int> p;int n=0;//构造链表int b;while(cin>>b){ p.push_back(b); n++; if (cin.get() == '\n') break;}用vector:int n=0;vector<int> a;int b;while(cin>>b)...转载 2019-02-24 15:07:29 · 3627 阅读 · 0 评论 -
提高代码质量
原创 2019-02-23 12:37:14 · 69 阅读 · 0 评论 -
c++中单引号和双引号的区别
单引号用于字符类型,实际上代表的时一个整数,严格对应ASCII表。双引号用于字符串类型,代表指向一个数组的指针。原创 2019-02-17 23:27:43 · 1107 阅读 · 0 评论 -
c++字符串的定义和使用
定义方法:char* str="csdn"; char str[]="csdn"; string str="csdn";当使用第一种方法定义字符串时,字符串str不允许被修改,当用第二种方法和第三种方法定义字符串时,字符串str可以被修改。另外注意当定义char *str1="csdn";char *str2="csdn"时,str1和str2其实指向的时同一地址单元。...原创 2019-02-17 23:16:07 · 5253 阅读 · 0 评论 -
memset函数
memset函数包含在头文件<memory.h>和头文件<string.h>中。 函数原型 memset(void* buff,int i,int count),其中buff:指针或数组,i:赋给buff的值,count:buff的长度。...原创 2019-02-17 22:08:42 · 106 阅读 · 0 评论 -
去除有序链表中的重复值
测试用例:功能测试:链表中间值特殊值测试:空指针,只有头结点,所有节点都是重复的#include<iostream>#include<string.h>using namespace std;struct ListNode{ int val; ListNode* next; ListNode(int n=0) { ...原创 2019-02-21 19:50:23 · 415 阅读 · 0 评论 -
代码的完整性和异常处理
代码的完整性需要从三个方面考虑:功能测试 边界测试 负面测试比如求实数的整数次方,不能只考虑到正数,当输入实数是负数或者次方是负数、0是怎样,当输入是非法时又是怎样。三种错误的处理方法:用函数返回值告诉调用者是否出错:Windows的API就是返回错误xx,但是这种方法不能直接将计算结果返回,也不能赋值给其他变量。 错误发生时设置一个全局变量:可以使用计算结果,但是有可能忘记检...原创 2019-02-20 09:05:16 · 1123 阅读 · 0 评论