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)在模块内,一个被声明为静态的函数值可被这一模块内的其他函数调用。

时间: 2024-10-12 23:54:20

c++面试(二)的相关文章

[Java面试二]Java基础知识精华部分.

一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础: JAVA

java面试二

技术交流群: 233513714 126.什么是ORM?答:对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术:简单的说,ORM是通过使用描述对象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数据从一种形式转换到另外一种形式. 127.持久层设计要考虑的问题有哪些?你用过的持久层框架有哪些

转 软件测试面试 (二) 如何测试网页的登录页面

原文请点击:http://www.cnblogs.com/TankXiao/p/3154017.html 这个面试题碰到过很多次, 再次总结下来. 具体需求: 有一个登陆页面, 上面有2个textbox, 一个提交按钮.  请针对这个页面设计30个以上的test case. 此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力 这个题目还是相当有难度的, 一般的人很难把这个题目回答好. 功能测试(Function tes

面试(二)

表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) --教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_score) --学生编号,课程编号,分数 1.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 2.查询各

JAVA基础面试(二)

11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用.也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用. 12.In

面试-Java高级工程师

近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们 一.无笔试题 不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试 二.三大框架方面问题 1.Spring 事务的隔离性,并说说每个隔离性的区别 解答:Spring事务详解 2.Spring事务的传播行为,并说说每个传播行为的区别 解答:Spring事务详解 3.hibernate跟Mybatis/ ibatis

Java面试技巧

[Java面试一]面试复习大纲. [Java面试二]Java基础知识精华部分. [Java面试三]JavaWeb基础知识总结. [Java面试四]Strust2总结及在面试中的一些问题. [Java面试五]Spring总结以及在面试中的一些问题. [Java面试六]SpringMVC总结以及在面试中的一些问题. [Java面试七]Mybatis总结以及在面试中的一些问题. [Java面试八]Hibernate总结以及在面试中的一些问题. [Java面试九]脚本语言知识总结. [Java面试十]浏

Python面试简介及并行并发

今天的分享内容大体如下: 一. 面试 1. 什么是面试 2. 优秀的面试 二. Python综述 1. Python设计哲学及版本变迁 2. Python发展现状及其他语言使用场景 3. GIL 4. 内存管理和垃圾回收 5. 面试示例 三.并发并行 1. 进程 2. 线程 3. 协程 4. 并发编程 一. 面试 什么是面试 面:当面/面谈/面聊, 试:考试,当前社会上各大企业和公司招人环节中最重要的一道流程关卡:目前面试已经衍生了多种操作形式:直面.电面.视频面.在线coding: 一轮面试的

探究一种定长队列操作(C语言版本)

一 问题来源:南京烽火通信面试 二 问题: 现有一种定长队列,长度为2的n次方,此队列可被多线程访问,但必须确保线程级安全,即在任意时刻,队列的长度保持不变. 三 笔者分析 1. 队列的存储结构--链式和顺序均可. 2. 长度为2的n次方--便于移动队头和队尾指针,假设队列长度为size,那么rear = (rear + 1) & (size - 1),&运算比算术求模运算效率高.为此,笔者使用了顺序队列. 3. 怎么确保线程级安全 笔者认为此系统一定同时存在多个读者和写者,读者是读取队头

面积最大的全1子矩阵

面积最大的全1子矩阵 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:859 解决:179 题目描述: 在一个M * N的矩阵中,所有的元素只有0和1,从这个矩阵中找出一个面积最大的全1子矩阵,所谓最大是指元素1的个数最多. 输入: 输入可能包含多个测试样例.对于每个测试案例,输入的第一行是两个整数m.n(1<=m.n<=1000):代表将要输入的矩阵的大小.矩阵共有m行,每行有n个整数,分别是0或1,相邻两数之间严格用一个空格隔开. 输出: 对应每个测试案例,输出矩阵中面积最大的