1.空类所占空间大小

  空类所占空间为1,单一继承的空类空间也为1,多继承的空类空间还是1.但是虚继承涉及虚表(虚指针),所以sizeof(C)的大小为4。

2.内联函数与宏定义

  Ans:内联函数和普通函数相比可以加快程序运行速度,因为不需要中断调用,在编译的时候内联函数可以直接镶嵌到目标代码中。而宏只是一个简单的替换。

所谓的嵌入代码,是指在调用函数的地方把所需要的函数代码直接写到那里去。对于短小的代码来说,inline可以带来一定的效率提升,而且和C时代的宏函数相比,inline更加安全可靠。可是是以增加空间为代价的。

比如,在C中,可以定义无返回值类型的函数。

#include <stdio.h>

inline func(int i)
{
return i * i;
}
int main()
{
printf("%d\n", func());
return ;
}

3.交换问题:

//交换无效:没有修改指针中的内容。
void swap3(int *p, int *q){
int *tmp;
tmp = p;
p = q;
q = tmp;
}
//交换成功!a & b所在地址处的内容发生交换
void swap4(int *p, int *q){
int tmp;
tmp = *p;
*p = *q;
*q = tmp;
}
//交换成功!同上
void swap5(int &p, int &q){
int tmp;
tmp = p;
p = q;
q = tmp;
}
int main()
{
int iv;
int iv2 = ;
int iv3 = ;
//int &reiv;
int &reiv2 = iv;
int &reiv3 = iv;
int *pi;
//*pi = 5;整数指针pi没有指向实际的地址。在这种情况下就给他赋值是错误的,因为赋的值知不知道该放到哪里。
pi = &iv3;
//const double di; 错误!常量赋值必须进行初始化
const double maxWage = 10.0;
const double minWage = 0.5;
const double *pc = &maxWage;
int a=,b = ;
swap3(&a,&b);
cout<<a<<" , "<<b<<endl;
swap4(&a,&b);
cout<<a<<" , "<<b<<endl;
swap5(a,b);
cout<<a<<" , "<<b<<endl;
return ;
}

涨知识 --- VI的更多相关文章

  1. 涨知识-VI 基于TCP/UDP的应用层协议

    基于TCP/UDP的应用层协议: 基于TCP: Telnet(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络 FTP(File Trans ...

  2. 涨知识Style

    1.用Access作为后台数据库支撑,书写一个C#写入记录的案例 示例1: using System.Data.OleDb; string sql = "insert into 表 (列1, ...

  3. Camel——涨知识了,骆驼命名法

    骆驼式命名法(Camel-Case)又称驼峰命名法,是电脑程式编写时的一套命名规则(惯例).正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字.程序员们为了自己的 ...

  4. 涨知识:equals 和 == 你真的了解吗?

    基本概念 ==是运算符,比较的是两个变量是否相等: equals()是Object方法,用于比较两个对象是否相等 看一下源码: public boolean equals(Object anObjec ...

  5. 涨知识,涨知识 :ThinkPHP框架下Where条件查询Mysql数据库某字段是否为空

    代码虐我千百遍,我对代码如初恋~ 问题: 查询某字段app_date数据是否为NULL,正常我们实现的办法是: $map['app_data'] = array('eq','null'); $data ...

  6. main方法原来只要放在public static类中就能跑,涨知识了

    接口中可以装在嵌套类对象. public interface ClassInterface { void howdy(); class Test implements ClassInterface { ...

  7. 你可能不知道的 10 条 SQL 技巧,涨知识了!

    转自:http://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650076293&idx=1&sn=38f6acc759df ...

  8. 涨知识---V

    1.内存对齐 在解释内存对齐的作用前,先来看下内存对齐的规则: 1).  对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数, ...

  9. 涨知识---IV

    1.如何减少换页错误? A.进程倾向于占用CPU. B.访问局部性(locality of reference)满足进程要求. C.进程倾向于占用I/O. D.使用基于最短剩余时间(shortest ...

随机推荐

  1. 洛谷 2048 BZOJ 2006 [NOI2010]超级钢琴

    [题解] 贪心题.设五元组(mx,pos,l,r1,r2)表示最大值为mx,取得最大值的区间右端点为pos,区间左端点为l,区间右端点的可选区间为[r1,r2]. 每次从堆里拎出最大值,然后把这个区间 ...

  2. BZOJ 1370 团伙

    两个认识的人不是朋友就是敌人,且满足: 1,朋友的朋友是朋友: 2,敌人的敌人是朋友. 一群朋友组成一个团伙,给出m个信息,求有多少个团伙. 用并查集,把一个点x拆成x和x’ 若a与b为朋友,则将a与 ...

  3. [luoguP3565] [POI2014]HOT-Hotels(dfs)

    传送门 三点在树上距离相等的情况只有一种,就是以某一个点为中心,三个点到这个点的距离相等. 所以直接枚举每个点作为中心,dfs这个中心的子树,根据乘法原理统计答案即可. 时间复杂度 O(n2) (n ...

  4. 过河(codevs 1155)

    题目描述 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥 ...

  5. [USACO06JAN]牛的舞会The Cow Prom Tarjan

    题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...

  6. 洛谷—— P1187 3D模型

    https://www.luogu.org/problem/show?pid=1187 题目描述 一座城市建立在规则的n×m网格上,并且网格均由1×1正方形构成.在每个网格上都可以有一个建筑,建筑由若 ...

  7. 9、Java并发性和多线程-线程安全与共享资源

    以下内容转自http://ifeve.com/thread-safety/: 允许被多个线程同时执行的代码称作线程安全的代码.线程安全的代码不包含竞态条件.当多个线程同时更新共享资源时会引发竞态条件. ...

  8. cc2540 usbdongle 安装驱动失败的终极解决方法 【原创,多图】

    Ghost winxp win7系统安装CC2540 usbdongle CDC驱动程序 [重要提示] 因为非常多朋友使用Ghost系统.导致安装cdc驱动时安装不成功,出现 "INF中的服 ...

  9. [Berkeley]弹性分布式数据集RDD的介绍(RDD: A Fault-Tolerant Abstraction for In-Memory Cluster Computing 论文翻译)

    摘要:     本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Datasets).它同意开发者在大型集群上运行基于内存的计算.RDD适用于两种 ...

  10. 《Head First 设计模式》学习笔记——代理模式

    设计模式 代理模式:为还有一个对象提供一个替身或占位符以控制对这个对象的訪问. 使用代理模式创建代表对象,让代表对象控制某对象的訪问,被代理的对象能够使远程的对象(远程代理).创建开销大的对象(虚拟代 ...