【C/C++】小坑们
1、printf("%03d", a); // 输出 a,占 3 位,不够则左边用 0 填充
2、memcpy 所在头文件为 <string.h>
3、string s(n, 'c'); // 初始化 n 个 'c' 字符
4、static 修饰的变量只在编译时执行一次初始化,存放在 data 段,该块内存不会销毁。当下一次执行到这一条语句的时候,直接跳过。
5、N = N1 op N2,N 的类型规则如下:
- 如果 N1、N2 同一类型,则 N 和 N1 同一类型;
- 如果 N1、N2 类型不同,则 N1、N2 中类型优先级低的转化为类型优先级高的,再进行运算。(高精度转换为低精度会造成精度丢失)
类型优先级从低到高如下:
char<unsigned char<short<unsiged short<int<unsigned int<long<unsigned long<float<double
6、C 语言允许函数类型缺省定义,此时函数值隐含的类型是 int。
7、++k 运算结束后,k 的值和表达式 ++k 的值相同。而 k++ 运算结束后,k 的值和表达式的值不相同,编译器要开辟一个新的变量来保存并返回 k++ 表达式的值。所以 ++k 速度更快。
8、int (*p)[3]; // p 是一个二级指针,指向数组的指针
- p + 1 表示在行上移动
- p[0] + 1 表示在列上移动
9、许多用前++、后++ 出的题考输出都是错题,很多表达式是未定义的。参见 http://en.cppreference.com/w/cpp/language/eval_order
10、 区分
char p[] = "hello world"; // p 是数组名,是栈内存(动态数据区)的地址
char *p = "hello world"; // p 是“字符串常量”的指针,是静态数据区的地址
11、C++ 中,struct 和 class 的区别仅仅在于默认权限,一个是 public,一个是 private。C++ 中 struct 可以继承,可以有成员函数。
12、指针和引用的区别是,引用一旦赋值就无法重新绑定给新的左值,而指针可以改变其指向的地址。
13、
【C/C++】小坑们的更多相关文章
- mciSendString 的两个小坑
刚刚修正了自己用的小闹钟的代码. 坑1:REPEAT 选项的作用范围 原来用得好好的,之后选择 .wav 文件,居然不出声音了…… 诶,MCI 肯定支持 .wav 的啊…… 仔细想想,我以前都是选 . ...
- 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式
注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式 这个坑,必须要注意呀, 比如在用ListView的时候,如果在List_ ...
- C#中的Infinity有个小坑
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天家里有事,上网也不方便,就没有推送文章.今天很累,也不长篇大论了.简单介绍一下最近遇到的 ...
- 使用EMMET中的小坑
使用EMMET写HTML的时候,是一个非常爽的事情.但是今天我使用时,发现一个小坑.以前倒也没有注意,不过需要非常的小心. form[action="/process" metho ...
- 关于CSS3中transform变换的小坑
2017年6月30日15:05:46 今天在写一个demo的时候,发现CSS3中transform变换的一个特性. 首先,我先描述一下我发现的情况(问题再现): <div class=" ...
- Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理
基本概念部分(一):理解CORS 说道Vue的跨域AJAX,我想先梳理一遍CORS跨域,"跨域资源共享"(Cross-origin resource sharing),它是一个W3 ...
- go的变量redeclare的问题,golang的一个小坑
go的变量声明有几种方式: 1 通过关键字 var 进行声明 例如:var i int 然后进行赋值操作 i = 5 2 最简单的,通过符号 := 进行声明和赋值 例如: i:=5 golang会 ...
- MySQL中字段类型为timestamp的小坑
之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14 ...
- mysql url 连接配置的一个小坑。 工作中不会遇到。 学习的时候会
<property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> & ...
- 关于sniff函数的一个小坑
最近在用scapy模块写一个关于WiFi的脚本时用到sniff函数,其中遇到了一个小坑,记录如下: sniff函数是在指定网卡上每次嗅探到一个数据包后然后将它传给prn指定的函数.
随机推荐
- Hive为什么要启用Metastore?
转载来自: https://blog.csdn.net/qq_40990732/article/details/80914873 https://blog.csdn.net/tp15868352616 ...
- Excel Vlookup使用
VLookup用途 作用:关联两张表数据显示 如A表有字段id, name, B表有字段id, sex, 要把两张表合并成id, name, sex 操作步骤 1,在A表后面新增列sex 2, 插入公 ...
- Struts2重要知识点总结
一.interceptor拦截器的使用 第一种情况(指定action使用该拦截器):struts.xml文件的配置: <interceptors> <interceptor name ...
- “流式”前端构建工具——gulp.js 简介
Grunt 一直是前端领域构建工具(任务运行器或许更准确一些,因为前端构建只是此类工具的一部分用途)的王者,然而它也不是毫无缺陷的,近期风头正劲的 gulp.js 隐隐有取而代之的态势.那么,究竟是什 ...
- Zookeeper应用之——栅栏(barrier)
Zookeeper应用之——栅栏(barrier) 栅栏(barrier)简介 barrier的作用是所有的线程等待,知道某一时刻,锁释放,所有的线程同时执行.举一个生动的例子,比如跑步比赛,所有 运 ...
- jmeter获取mysql数据并作为请求参数使用
1.将mysql-connector-java-5.1.22-bin.jar包放到jmeter的lib目录下,重启jmeter 2.测试计划中添加jdbc connection,右键测试计划----添 ...
- HTTP请求中POST与GET的区别
本文章已收录于: 一.原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式. ...
- Linux命令(一)
一:命令介绍,目录结构,基本格式 linux命令格式: command [-options] [parameter1] ... 带-就是选项,不带-就是参数 ls ---文件显示 ls ...
- 不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)
使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的.随时可能变动的.所以当程序员们离开家之后,是很难直接和家里的设备进行交互的.但是通过TPLINK路 ...
- Redis学习-常用命令
keys * 返回满足的所有键 exists key 是否存在指定的key,存在返回1,不存在返回0 expire key time 设置指定key的过期时间,可以使用ttl key查看剩余时间 pe ...