摘要: 1.概述 结构体变量的成员在内存里是如何分布的、成员先后顺序是怎样的、成员之间是连续的还是分散的、还是其他的什么形式?这些问题既和软件相关又和硬件相关。所谓软件相关主要是指和具体的编程语言的编译器的特性相关,编译器为了优化CPU访问内存的效率,在生成结构体成员的起始地址时遵循着某种特定的规则,这就是 阅读全文
posted @ 2018-04-12 15:11 pinhole 阅读(4553) 评论(0) 推荐(0) 编辑
摘要: 源文件: 一、动态库多重依赖 (1)编译word动态库 g++ -shared -fPIC world.cpp -o libworld.so (2)编译hello动态库 g++ -shared -fPIC hello.cpp -o libhello.so ldd libhello.so 查看libh 阅读全文
posted @ 2018-06-07 11:27 pinhole 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: 一、编译可执行文件 g++ –c Hello.cpp 编译文件,生成目标文件Hello.o g++ Hello.o –o a.out 链接并重命名为可执行文件a.out g++ Hello.cc 编译链接一起,生成a.out g++ Hello.cc –o hello 生成a.out并命名为hell 阅读全文
posted @ 2018-06-07 11:12 pinhole 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 1、两者都是编译器 2、gcc编译c语言;g++既可以编译c语言,也可以编译c++语言 3、gcc不能自动链接库文件,一般用g++来链接库文件,非要用gcc的话,一般使用gcc -lstdc++命令 4、extern “c”对于gcc和g++没有区别 阅读全文
posted @ 2018-06-07 10:30 pinhole 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 一、C++多态 C++的多态包括静态多态和动态多态。静态多态包括函数重载和泛型编程,动态多态包括虚函数。静态多态是指在编译期间就可以确定,动态多态是指在程序运行时才能确定。 二、虚函数 1、虚函数为类的非静态成员函数,访问权限一般为public。函数声明时,在返回值前加virtual关键字,函数定义 阅读全文
posted @ 2018-05-25 09:01 pinhole 阅读(2595) 评论(0) 推荐(2) 编辑
摘要: 一、成员访问权限控制 1、public (1)public成员变量可以被成员函数访问 [访问性] (2)public成员可以被实体对象访问 [访问性] (3)public成员可以成为子类成员 [对子类的继承性] 2、protect (1)protect成员变量可以被成员函数访问 [访问性] (2)p 阅读全文
posted @ 2018-05-21 16:30 pinhole 阅读(1764) 评论(0) 推荐(0) 编辑
摘要: 1.为什么存在大小端模式 计算机系统中,每个地址单元对应一个字节(8bit),一种数据类型的数据可能占用若干字节。如何安排这种数据类型中的各个字节,哪个字节在低地址哪个在高地址,以及一个字节中的各个比特的排列,这就牵涉到大小端模式。也就是大家常说的字节序和比特序问题。字节序和比特序一般是一致的,要么 阅读全文
posted @ 2018-04-12 14:22 pinhole 阅读(3261) 评论(1) 推荐(1) 编辑
摘要: 一、概述 C++预定义的运算符的操作对象只能是基本数据类型,但是实际上许多用户自定义类型(例如类),也需要类似的运算符操作,C++可以通过运算符重载来满足这种需求。运算符重载本质就是函数重载,也是C++多态的一种形式。运算符重载是通过创建运算符函数实现的,和其他函数类似,唯一的区别是函数名为关键字o 阅读全文
posted @ 2018-04-11 14:48 pinhole 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 一、概述 不同基本数据类型间可以进行类型转换。有的可以自动类型转换,例如将int类型值赋值给long型变量。对于完全不兼容的类型,如果要进行类型转换只能通过强制类型转换。同样的,类类型也可以与其他数据类型进行类型转换。 二、自动类型转换 如果类定义了一个构造函数,这个构造函数只有一个参数,则可以将参 阅读全文
posted @ 2018-04-11 14:16 pinhole 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 1、存储持续性 C++使用四种不同方案来存储数据,它们的区别在于数据在内存中保留的时间,也叫做存储持续性 (1)自动存储持续性 在函数定义中声明的变量,包括函数参数。 (2)静态存储持续性 在函数定义外和使用关键字static定义的变量。它们在程序整个运行过程中都存在。 (3)线程存储持续性 在C+ 阅读全文
posted @ 2018-04-10 11:31 pinhole 阅读(228) 评论(0) 推荐(0) 编辑