整型变量的范围
(1)我们常常看到int取值范围为-32768~32767,实际上int的取值范围依赖于计算机系统,在16位机器中,int占16位,其中一位为符号位,所以取值范围为前面所说的-32768~32767(-2^15~2^15-1)。
而在32位和64位机器中,int占32位,取值范围为-2147483648~2147483647(-2^31~2^31-1)(勉强大于10^9)。ISO/ANSI C规定,int类型的最小范围为-32768到32767。
(2)在我的机器上面,long int 是4个字节。
(3)long long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(10^18)
(4)
2.
3.
c++里面基本就没有需要冒号的
cout,cin其实会比printf,scanf要慢
4.
及时回过头检查一下有没有加逗号
5.
#include
queue q;
Size=q.size();
q.empty();
q.push(a);
tmp=q.front();
q.pop();
6. auto 自适应数据类型
7. vector
其实数据结构学会了就直接起飞。
8. 写一个树
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
int main(){
TreeNode* a= new TreeNode(1);
a->val=0;
printf("%d\n",a->val);
return 0;
}
9.类的初始化
Solution p;
10. dfs
class Solution {
public:
int dfs(int i,int j,vector>& grid){
if (i<0 || i==grid.size() ||j<0 || j==grid[0].size() || grid[i][j]!=1) return 0;
grid[i][j]=0;
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};
int ans=1;
for (int k=0;k<4;k++){
ans+=dfs(i+dx[k],j+dy[k],grid);
}
return ans;
}
int maxAreaOfIsland(vector>& grid) {
int res=0;
for(int i=0;i
for(int j=0;j
int tmp=dfs(i,j,grid);
res=max(res,tmp);
}
}
return res;
}
};
11.
leetcode会用AddressSanitizer来检查c/c++是否发生数组越界问题
12.
但唯独string特别。
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。
这个头文件跟C++的string类半点关系也没有,所以并非的“升级版本”,他们是毫无关系的两个头文件。
13. c/c++求数组的大小