《程序员面试宝典》精华 编程语言部分

  • 正所谓取其精华,去其糟粕。本文谨记录下《程序员面试宝典》一些关键的知识点、易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录。当然这里的糟粕只是指不那么重要,或者比较简单,并不是说书写的不好。希望以后回顾时无需再看此书,只看保留在文中的精华即可。
  • 文中有少许bug,亦摘录在此。
  • 本文专注编程语言部分,包括第五章到第九章的内容

第五章 语言细节

  • 5.1 y = z = 5,等号先计算右边,返回值是赋值后的左边的变量值
  • 5.1 printf函数中的表达式从右向左压栈,应该先计算右方的值
  • 5.4 float型1.0f在内存中表示为:0x3f 80 00 00
  • 5.5 出现int常数的表达式中的变量通常都要提升至int型
  • 5.5 赋值运算符默认从右向左结合,也就是先计算右方的值
  • 5.5 (x&y) + ((x^y)>>1)效果是取二者的平均数
  • 5.6 不用判断和switch语句求a、b中的较大的一个:((a + b) + abs(a - b)) / 2
  • 5.7 extern "C"的用法:函数声明前添加,解决C/C++编译器的名字包装的不同问题

第六章 预处理、const和sizeof

  • 6.1 求结构体中某成员的偏移量:#define FIND(struc, e) (size_t)&(((struc *)0)->e)
  • 6.2 C语言中,const n = 10; char carray[n]是错误的,因为C编译器不能把const看成编译期的常量。但实验得出是正确的,bug
  • 6.3 C++中给类成员变量添加mutable修饰符,就可以使用const函数修改
  • 6.3 结构体对齐原则:结构体长度一定是最长数据元素整数倍,但如果大于处理器位数,则以处理器位数为对齐单位。CPU数据对齐原则是数据的内存地址必须是该数据长度的整数倍,以提高运行速度
  • 6.3 sizeof(string) == 4
  • 6.3 空类以及(多重)继承的空类大小都为1,但虚继承的类含有虚表指针,大小为4

第七章 指针与引用

  • 7.1 指针与引用的区别

    • 引用总是非空的,指针可能为空,使用时要小心测试
    • 引用不可以指向另一个对象,但指针可以更改
  • 7.1 int *p; *p = 0;是错误的,指针p并未指向某个实际的地址
  • 7.2 char a[] = "a"数组存放中栈中,函数返回即消失,char *a = "a"数组存放于全局只读数据段
  • 7.2 若类B继承类A,两者皆有成员变量,A中有f方法,则B b; b.f()调用的是A中的f,f使用的变量也为A中的变量
  • 7.3 指向const的指针应该是const int *,bug
  • 7.3 int ( *(*f)(int, int) )(int)定义了一个函数指针,接收两个int参数,返回值为一个函数指针
  • 7.4 指向整型数组的指针声明为:int (*p) [],指向整型的指针数组声明为:int *p[],函数指针的数组的声明:int (*p[10])(int)
  • 7.5 悬浮指针指的是delete之后的指针,应该让指针等于0,使得后续程序使用此悬浮指针出错是可控的。比如第二次delete
  • 7.5 new/delete与malloc/free的区别
    • 前者是运算符,后者是函数
    • 前者除了后者申请与释放动态内存的工作之外,对于非内置类型,还完成类初始化与析构操作
  • 7.6 autoptr中拷贝时会尝试只保留一份指针,因此不适合放在容器中

第九章 STL模板与容器

  • 9.1 如果没有重载拷贝构造函数为深拷贝,而又包含指针,那么调用拷贝构造函数时会复制指针,造成同一个指针 delete多次

  
  

转载请注明作者:Focustc,博客地址为http://blog.csdn.net/caozhk,原文链接为点击打开
  
  

《程序员面试宝典》精华 编程语言部分相关推荐

  1. 《程序员面试宝典》精华 底层部分

    <程序员面试宝典>精华 底层部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是没有 ...

  2. 《程序员面试宝典》精华 面向对象部分

    <程序员面试宝典>精华 面向对象部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是 ...

  3. 程序员面试宝典(第4版)

    <程序员面试宝典(第4版)> 基本信息 作者: 欧立奇 刘洋 段韬 出版社:电子工业出版社 ISBN:9787121207242 上架时间:2013-7-8 出版日期:2013 年7月 开 ...

  4. ASP.NET的几个试题(《C#与.NET程序员面试宝典》)

    更多参考:博客园笔记 面试题1:ASP.NET是什么 ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft.NET Framework中一套用于生成Web应 ...

  5. 金九银十北漂记第2篇:《Java程序员面试宝典》读书笔记

    尽信书,则不如无书.-–孟子 谈一谈这本书  <Java程序员面试宝典>是我接触的第一本讲解面试相关的书籍在看到这本书之前我就经常逛csdn的bbs,已经接触面试之类的知识.不过这本书还是 ...

  6. Java程序员面试宝典笔记记录(1~3章概括)

    文章目录 导言 求职前重要的两点 求职者注意的几个方面: 挑选offer考虑5点 后台开发人员面试需要补充和阅览的书籍 需备技能方面 需要阅读的书籍(针对Java) 结语 导言   本博文是对于何昊出 ...

  7. Java程序员面试宝典

    第1部分  求职过程 古人云:凡事预则立,不预则废.机会都是垂青有准备的人的.为了得到一份满意的工作,大家一定要对整个求职过程有清醒的了解.把能够预见的.必须做的事情早一些做完,这样在大规模招聘开始的 ...

  8. java只会用不知道原理6_程序员面试宝典之14道初级Java面试题分享

    程序员面试宝典之14道初级Java面试题分享 程序员面试宝典之14道初级Java面试题分享! 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应 ...

  9. // 程序员面试宝典第三版34页,面试题2 ,结果很诡异,指针类型的转换本来意味着指向数据类型的转换,但是似乎不尽然是。

    // 程序员面试宝典第三版34页,面试题2 ,结果很诡异,指针类型的转换本来意味着指向数据类型的转换,但是似乎不尽然是. /* #include<stdio.h> int main()   ...

最新文章

  1. 虚拟机系统如何添加硬件?
  2. GPS实时跟踪程序模拟(2)动画回放
  3. 安装Ubuntu时,遇到自定义交换空间swap大小设置问题
  4. 理解extract_patches_2d
  5. ML的BD框架-Hadoop.Mahout.Strom.Spark/GraphLab
  6. 开放对静态资源的访问
  7. 枚举类型和int以及string的相互转换
  8. 阿里全资收购饿了么,估值 95 亿美元
  9. Numpy——numpy的基本运算
  10. tomcat-maven-plugin 2.0版本发布
  11. 基于WCF的通道网络传输数据压缩技术的应用研究
  12. 不小心执行了rm -f,除了跑路,如何恢复?
  13. python调用按键精灵插件_按键精灵教程打码平台接入
  14. 软件安装 gcc编译器
  15. U盘启动装系统的操作方法(U盘PE启动安装GHOST XP)(转载)
  16. 生物计算机是未来型计算机吗,生物计算机特点及未来发展
  17. 【员工端】OA办公系统移动端高保真Axure原型模板
  18. CC2640R2FRSMR低功耗M3内核蓝牙MCU
  19. 安装linux系统,卡在Detecting hardware
  20. 同步屏障Barrier

热门文章

  1. 大学计算机基础应当掌握的内容,大学计算机基础课程教学大纲2014版.pdf
  2. java httprequest选项_java 实现HttpRequest 发送http请求
  3. 【数据库基础知识】oracle client安装及配置
  4. 如何在参考文献中优雅地引用URL?How do you get nicely formatted URLs in the bibliography?
  5. JAVA 比较两个日期相差的天数的方法比较
  6. 利用css做出的图片墙效果_练习
  7. ajax回显500因为#与$的原因
  8. 拟牛顿法matlab程序_牛顿环实验的数据处理改进及图像分析
  9. Python中import导入模块
  10. python如何对文件进行批量命名-利用Python对文件批量重命名