您的位置:首页 > 编程语言 > C语言/C++

C++语言中的一些常用技巧

2018-03-08 23:54 260 查看
1、要将一个字母大小写变换一下,可以用这种方法:char s
s^=32; //s^=(1<<5)也可以2、创建set并初始化,利用set判断某个元素是否在set中。set类是有序的。set<char> setJ(J.begin(),J.end());
for(char s:S)
if(setJ.count(s)) res++;3、double变量不能用==判断是否相等,因为精度问题
4、右移操作符本身不修改变量值,会返回一个移位后的值:a=a>>15、P1为int指针,P2为int值。int* p1,p2;6、类传递一般用const 引用。
7、内联函数适合用于小且非递归的函数,且内联声明和定义都需要在开头加上inline。
8、将表达式传递给函数引用参数会报错。
9、单精度浮点数用23位来储存尾数,小数点前还有一位隐藏的1,所以一共可以表示10^7<2^24<10^8,所以单精度浮点数的有效位数为7,如果考虑第7位为四舍五入问题,则最少有效位数为6位;同样双精度浮点数的尾数用52位存储,即有效位数为16位,考虑四舍五入则为15位。
10、下面程序中的v为m的引用:hanshu((m)){ v=m; }11、m=!!n :如果n>0,m=1;如果n==0,m=0!
12、一个数字与非它自身结果为0!
13、一个指针指向字符串,当字符串为空则不代表指针为NULL,这两种情况需要分别考虑!
14、像下面这么用不行,因为s只是一个复制,并不会改变容器中字符串的值:for(string s:rightRes)
s=curStr+s;下面这么用可以:for(string& s:rightRes)
s=curStr+s;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: