c++面试(二)
1.宏参数的连接
#define CONS(a,b) (int)(a##e##b)
CONS(2,3) =>2e3 =2000
2.const
int b=10;
int c=20;
const int *a1=&b; //指针指向常量,修改指针可以a1=&c(对),但是修改指向的内容不行*a1=1(错)。
int* const a2=&b; //指针本身为常量。a2=&c(错),*a2=1(对)。
const int* const a3=&b; //双const:指针本身不能改,只想内容不能改。
3.#define: Compile-Time 止于编译期
const: Run-Time 在堆栈只分配了空间
4.const的作用
(1)定义常量。
(2)修饰函数形参。
形参为用户自定义或抽象数据类型时,应该把“值传递”改为“const &传递”,提高效率。
void fun(A a)
void fun(A const &a) //不需要产生临时对象,节省了构造、复制、析构过程的时间。但光引用可能会改变a,所以加上const。
(3)const修饰函数的返回值:
如给“指针传递”的函数返回值+const,返回值不能被直接修改,且只能赋给+const修饰的同类型指针。
(4)const修饰类的成员函数(定义体)
int GetCount(void) const;
任何不会修改数据成员的函数都应+const。
5.static有什么作用
(1)函数体内,静态变量调用过程其值不变。
(2)在模块内(函数体外),静态变量可以被模块内所有函数访问,但不能被模块外其他函数访问。 它是一个本地的全局变量。
(3)在模块内,一个被声明为静态的函数值可被这一模块内的其他函数调用。
c++面试(二)的更多相关文章
- [Java面试二]Java基础知识精华部分.
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- java面试二
技术交流群: 233513714 126.什么是ORM?答:对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题 ...
- 面试(二)---synchronized
一.前言 本来计划将ConcurrentHashMap和HashMap对比着来说下,奈何看的源码有点懵逼,我在思考思考,等等有个清晰的思路在搞起来,我们先来谈一下synchronized ...
- Android面试二之Fragment
基本概念 Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6. F ...
- java笔试面试二
http://www.cnblogs.com/lanxuezaipiao/p/3371224.html
- JAVA基础面试(二)
11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用 ...
- django面试二
33. django的缓存能使用redis吗?如果可以的话,如何配置? #1.安装 pip install django-redis#2.在stting中配置CACHES,可以设置多个缓存,根据名字使 ...
- java面试(二)
1.java常见的容器 几乎所有的容器都继承了Collecton接口,包括List.Set.Queue.Map List包括Vector.ArrayList.LinkedList, Set包 ...
- 写在19年初的后端社招面试经历(两年经验): 蚂蚁 头条 PingCAP
去年(18年)年底想出来看看机会,最后很幸运地拿到了 PingCAP,今日头条的 offer 以及蚂蚁金服的口头 offer.想着可以总结一下经验,分享一下自己这一段"骑驴找马"过 ...
- 面试总结——Java高级工程师(一)
一.无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二.三大框架方面问题 1.Spring 事务的隔离性,并说说每个隔离性的区别 解答:spri ...
随机推荐
- Qt for Mac:发布程序(widgets和quick2)
当你用Qt开发好程序后,是不是会很期待将你的成果分享给你的小伙伴 可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行. 比较幸运的是,Qt ...
- 在InnoDB,记录在 non-clustered indexes(也被称为secondary indexes) 包含了主键值
In InnoDB, the records in non-clustered indexes (also called secondary indexes) contain the primary ...
- Linux配置支持高并发TCP连接(socket最大连接数)
Linux配置支持高并发TCP连接(socket最大连接数) Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58| 分类:LNMP&a ...
- Snowflake Snow Snowflakes(哈希,大素数取模)
Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 27277 Accepted: 7197 Description You ...
- 数据结构:(平衡树,链表)BZOJ 1588[HNOI2002]营业额统计
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 12173 Solved: 4354[Submit][Sta ...
- 《精通CSS:高级Web标准解决方案》学习笔记(上)
鉴于国产CSS书籍基本都是辣鸡的现状,我在半年前动用某工作室的购书资金采购了一些技术书籍,这本广受好评的<精通CSS>也在其中.但是在阅读过后我深深的感觉到,如果说CSS本来已经是一种很琐 ...
- Codeforces Round #333 (Div. 1)--B. Lipshitz Sequence 单调栈
题意:n个点, 坐标已知,其中横坐标为为1~n. 求区间[l, r] 的所有子区间内斜率最大值的和. 首先要知道,[l, r]区间内最大的斜率必然是相邻的两个点构成的. 然后问题就变成了求区间[l, ...
- Java Spring的 JavaConfig 注解
序 传统spring一般都是基于xml配置的,不过后来新增了许多JavaConfig的注解.特别是springboot,基本都是清一色的java config,不了解一下,还真是不适应.这里备注一下. ...
- Linux一键安装PHP/JAVA环境OneinStack
OneinStack 是一款PHP/JAVA环境一键配置工具. OneinStack包含以下组合 lnmp(Linux + Nginx+ MySQL ...
- 在SQL中使用PL/SQL函数存在的问题
-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...