栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习笔记

2022.1.22 scanf()
scanf函数返回值为其成功读取的参数个数
scanf读取文件时到达文件末尾导致无法读取,产生读入失败。函数返回-1,C语言中使用EOF代表-1
while( gets(str) != NULL ) {}
while( scanf("%d%d",&a,&b) , a || b )   //a,b同时为零时退出循环
memset()
memset( 数组名,值,sizeof(数组名) )
按字节赋值,通常0|-1(其二进制补码为全0或全1)
对二维或多维数组的操作不变,不需要改变任何东西
fill()
可把数组或容器中的某一段区间赋值为特定值(数组类型对应范围内)
e.g. fill(a,a+5,12)
字符数组
可以通过直接赋值字符串来初始化(仅限于初始化,程序其他位置不允许直接赋值整个字符串),结尾有空字符
%c单个字符,识别空格换行;%s遇到空格换行结束
gets输入一行,换行作为输入结束
scanf完一个整数后,如果要使用gets,应使用getchar接收整数后的换行符
string.h
strlen: 第一个前字符个数
strcmp: str1 
快读快写 
iostream::sync_with_stdio(false); 这句话会解除cin,cout和stdio之间的同步锁 这样cin和cout的速度会有明显的改善,和scanf和printf不相上下 有时候甚至比后两者更快一些
但 执行完上述语句后只能使用{cin,cout}和{printf,scanf,putchar,getchar}的一边 
如果两个集合里的函数混用 会导致输出顺序混乱

快读(读入字符转换成数字)

 1 inline int read(){
 2     int x=0,f=1;
 3     char ch=getchar();
 4     while(ch<'0'||ch>'9'){
 5         if(ch=='-')
 6             f=-1;
 7         ch=getchar();
 8     }
 9     while(ch>='0'&&ch<='9'){
10         x=(x<<1)+(x<<3)+(ch^48);
11         ch=getchar();
12     }
13     return x*f;
14 }
2022.1.23 clock()
clock():捕捉从程序开始运行到clock()被调用消耗的时间,单位clock tick(时钟打点)
常数CLK_TCK(或CLOCK_PER_SEC):机器每秒走的时钟打点数
clock_t start = clock();	//clock_t是clock()函数返回类型
MyFunction();
clock_t stop = clock();
double duration = ((double)(stop-start))/CLK_TCK;
union
同一个内存段可以用来存放几种不同类型的成员,但在每一个时刻只能存在其中一种。union中的所有成员起始地址都是一样的
union类型可以出现在结构体类型定义中,也可以定义union数组;同样的,结构体也可以出现在union类型定义中,数组也可以作为union的成员
由于union里面的东西共享内存,所以不能定义静态、引用类型的变量。
在union里也不允许存放带有构造函数、析构函数和复制构造函数等的类的对象,但可存放对应的类对象指针。编译器无法保证类的构造函数和析构函数得到正确的调用,由此,就可能出现内存泄漏。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号