面试遇到的问题汇总
2016-11-17 23:49
169 查看
一直更新
语言特性方面:
1.注意类型转换树的问题
如 a+b
如果a,b是不同的数据类型,一定要注意其中隐式的类型转换问题
char->int->unsigned->float
一定要注意 unsigned要比int高级,int和unsigned碰到一块的时候是一起转成unsigned的。
比如下面这个程序
for(int a=-1;a<sizeof(t)/sizeof(t[0]);a++){
cout<<t[a+1];
}
的问题
a是一个int,而sizeof是unsigned的,所以在比较大小的时候,都要将其转换为unsigned的,所以a会变成很大的树,所以这个循环根本进不去。
上面可以看到unsigned和int不在同一个树分支中,所以unsigned和int碰一起是一起转成unsigned long
所以 sizeof(a+b) a如果为a为unsigned,b为int的,这个sizeof之后是8!!!!!!!!!!!
2.智能指针的语法问题
3.const 和 #define 的区别
语言特性方面:
1.注意类型转换树的问题
如 a+b
如果a,b是不同的数据类型,一定要注意其中隐式的类型转换问题
char->int->unsigned->float
一定要注意 unsigned要比int高级,int和unsigned碰到一块的时候是一起转成unsigned的。
比如下面这个程序
for(int a=-1;a<sizeof(t)/sizeof(t[0]);a++){
cout<<t[a+1];
}
的问题
a是一个int,而sizeof是unsigned的,所以在比较大小的时候,都要将其转换为unsigned的,所以a会变成很大的树,所以这个循环根本进不去。
算术运算会先隐式转换到相同类型再运算,结果的类型是转换后的类型。PC机子上的类型转换树参考: long double | double | float | unsigned long / \ unsigned int long \ int / | \ bool, char, unsigned char, short, unsigned short, 枚举类型等
上面可以看到unsigned和int不在同一个树分支中,所以unsigned和int碰一起是一起转成unsigned long
所以 sizeof(a+b) a如果为a为unsigned,b为int的,这个sizeof之后是8!!!!!!!!!!!
2.智能指针的语法问题
3.const 和 #define 的区别
相关文章推荐
- 本文作者对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,以甄选合适人选,而开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准
- 面试遇到的问题汇总
- 记录最近面试时遇到的一个问题:Android root的原理
- 面试中遇到的问题
- 31 最近遇到的一些问题汇总
- java面试时遇到的一个有意思的小问题
- tomcat使用遇到问题汇总
- 【最近面试遇到的一些问题】线程安全-单例模式[转]
- 面试的时候遇到过的问题
- 【最近面试遇到的一些问题】JSP中动态INCLUDE与静态INCLUDE的区别
- Qt Android环境搭建遇到的问题汇总
- java系统学习(二十)---问题汇总(面试常见)
- windows 使用pytorch遇到的问题汇总
- git使用过程中遇到的问题汇总
- 视频监控(B/S模式下)CGI和BOA使用期间遇到的问题汇总
- 前端面试常见问题汇总
- Power designer 15数据库设计(E-R图设计遇到的问题汇总)
- Centos修改数据库目录遇到问题汇总
- mapper文件常遇到的问题汇总
- python初学遇到的问题汇总