基础小记
来源:互联网 发布:linux shell 变量 编辑:程序博客网 时间:2024/06/11 20:21
补习算法基础,学习邓肯的球风,扎实的大基本功~
- 比较大的数组声明在main函数之外
- 做一件事之前检查是否可以做,而不是做完之后不行再回退
前++和后++:
i++ 与 ++i 的主要区别有两个:
1、 i++ 返回原来的值,++i 返回加1后的值。
2、 i++ 不能作为左值,而++i 可以。
左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。比如,
int i = 0;
int *p1 = &(++i); //正确
int *p2 = &(i++); //错误++i = 1; //正确
i++ = 5; //错误i++ 最后返回的是一个临时变量,而临时变量是右值。
全部清零或者批量清零,可以用memset(a,0,sizeof(a)),a是一个数组
++ – += 等可以修改变量值的运算符的滥用可能会带来意向不到的问题,每条语句最多使用一个这样的运算符,且此运算符修改的变量最多在语句中出现一次。
例:
神奇的例子int count = 0;
std::cout <<count++<<count++<<count++<<std::endl;
结果是 210 想不到吧~int count = 0;
std::cout <<count++<<count++<<count<<std::endl;
结果是 102int count = 0;
std::cout <<++count<<++count++<<++count<<std::endl;
结果是 333
换成printf("%d %d %d\n",count++,count++,count++)
依然是2 1 0编译选项-WALL TODO
不同操作系统的回车换行符并不一致,Windows是\r和\n两个字符,在Windows下读Windows文件,fgetc()和getchar()会把\r“吃掉”,只留下\n,但在LINUX下读同样一个文件,会先读取\r,再读取\n。
- gets(s)存在缓冲区溢出的漏洞,不要使用
- 复杂的字符串处理,常使用预处理的方式简化输入。
- 迭代式开发,每次只实现一点功能,但要充分测试,保证它工作正常。
- 测试驱动开发
- 标准输入流cin比文件流fin慢得多
- cstdio和stdio.h并不等同,并不是头文件对应于c语言和c++的两个不同名字,有些许差别,但是平常用不太到。
- 使用time.h和clock()和函数可以获得程序运行时间,常数CLOCKS_PER_SEC和操作系统功能相关,不要直接使用clock()的返回值。 -
- 基础小记
- C基础知识点小记
- lua基础小记
- PHP基础小记
- linux基础学习小记
- js基础小记
- android selector 基础小记
- IPC基础小记
- Java基础小记
- python 基础学习小记
- 学习小记-Git基础
- 前端基础小记
- Python基础小记
- 小记,Fragment基础
- 小记4 一些基础
- TensorFlow 基础小记
- c#面向对象基础小记
- SQL基础 学习小记一
- Java可运行,javac不可运行
- 1139-数据结构上机测试2-2:单链表操作B
- 自动驾驶仿真_CAT Vehicle测试(2)--搭建工作环境及可视化
- 联币网:在数字资产时代,以不一样的姿态存在
- 欢迎使用CSDN-markdown编辑器
- 基础小记
- SCTP在LINUX中的实现:代码结构
- SQL Sever 各版本下载
- 关于Web安全的那些事(XSS攻击)
- sprinv mvc service事物不回滚
- PostScript基本语法
- 如何加层到Deep Learning中去
- PHP垃圾回收机制防止内存溢出
- react-native面试题