程序员面试宝典——第五章习题解析
来源:互联网 发布:sketch 激活码 mac 编辑:程序博客网 时间:2024/05/18 04:17
因为之前已经看过关于C++中sizeof的相关知识,并且写了总结文章,在做习题测试的时候,基本也都正确,所以这里主要是记录define、const的一些知识点。
一、define
1、define一个常量
#define A 1
#define PTR int*PTR a,b;//由于define是不含任何意义的替换,所以这里仅仅是字符串替换,等价于int *a,b,因而a为int类型的指针,b为int类型的变量
2、define一个函数
#define ADD(a,b) a+bint i=1,j=2,k=3;int s=ADD(i,j)*k;//等价于s=1+2*3,而不是(1+2)*3,所以在使用时,注意加括号
二、const
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身为常量
int b=500;const int *a=&b;//指针指向的值为常量int const *a=&b;//指针指向的值为常量int *const a=&b;//指针为常量const int *const a=&b;//指针指向的值和指针均为常量
如果类中的常函数,想要修改类中的成员变量,则需要将该成员变量用mutable修饰
三、inline
内联函数和普通函数相比可以加快代码运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被嵌套到目标代码中。而宏只是一个简单的替换。
inline是指嵌入代码,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。对于短小的代码来说inline增加空间消耗换来的是效率提高,这方面和宏是一样的,但是inline在和宏相比没有付出任何额外代价的情况下更安全。
inline一般用于如下情况:
1)一个函数不断被重复调用
2)函数只有简单的几行,且函数内不包含for、while、switch语句
0 0
- 程序员面试宝典——第五章习题解析
- 程序员面试宝典——第五章习题解析
- 程序员面试宝典第五章 程序设计基本概念
- 程序员面试宝典第四版第五章
- 程序员面试宝典部分习题
- 程序员面试宝典(第四版)——读书笔记-1、第五章:程序设计基本概念
- 程序员面试宝典——螺旋队列解法解析
- 程序员面试宝典——螺旋队列解法解析2
- 笔记——【程序员面试宝典4】
- 程序员面试宝典(第五版)里的错误
- 华为笔试&程序员面试宝典——选秀节目打分
- 《程序员面试宝典》 —— 多态的作用
- 程序员面试笔试宝典——读书笔记6、操作系统基础知识
- 程序员面试笔试宝典——读书笔记1、程序设计基础知识
- 程序员面试宝典(第四版) —— 类型转换
- C++程序员面试宝典——基本概念易错题
- C++程序员面试宝典——预处理、counst与sizeof
- 程序员面试宝典——子串判断
- 排序复习
- C语言 顺序表的实现 (动态)
- Java中的equals和==
- 【QT开发】一些零碎知识
- 51Nod 1066 - Bash游戏(巴什博奕)
- 程序员面试宝典——第五章习题解析
- iOS 证书 刚申请的证书 此签发着无效
- 设置Button或ImageButton的背景颜色的透明度
- 面向对象的过程
- 解析android中系统日期时间的获取
- 2018年ACMICPCWORLDFINAL冠军在2016.9.11干的蠢事
- keil 中回调函数参数限制
- hdu5875 Function (离线处理)
- 如何让图标和文字显示在同一行