【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指定的函数.
随机推荐
- 6、Flutter Error waiting for a debug connection: ProcessException: adb did not report f(转)
1.错误信息 Error waiting for a debug connection: ProcessException: adb did not report forwarded port 2.解 ...
- 解决 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 问题
https://blog.csdn.net/weixin_41196185/article/details/81114226 今天在启动vue项目的时候报了这样一个错误 观察到关键词是 FATAL E ...
- linux----------linux下配置内网ip
1./etc/sysconfig/network-scripts/ifcfg-eth1 创建这个文件里面的内容如下 TYPE="Ethernet" BOOTPROTO=&quo ...
- java Timer 定时每天凌晨0点执行任务
import java.util.TimerTask; /** * 执行内容 * @author admin_Hzw * */ public class Task extends TimerTask ...
- 自定义Word颜色主题
外观 说明 看到这个黑色编辑器的界面,第一印象可能认为是Sublime.Atom. VScode或者其它markdown编辑器.其实仅仅是微软的Word经过了自定义主题. 选择清晰易于辨认的字体和深色 ...
- Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable
看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...
- 使用日期插件用js处理日期格式
function compareDate(checkStartDate, checkEndDate) { var arys1= new Array(); var arys2= new Ar ...
- Object类型的转为String类型
Map<String, Object> scaleMap = new HashMap(): scaleMap.put("name","张三"); S ...
- linux的必知必会规则
- opencv学习之路(19)、直方图
一.概述 二.一维灰度直方图 #include "opencv2/opencv.hpp" #include<iostream> using namespace cv; ...