C++
armwind
这个作者很懒,什么都没留下…
展开
-
C++中结构体和类
本博文是在阅读android源码的过程中,发现代码中有类继承结构体的情况,之前很少见,就在这里总结一下,加深一下印象。本博文只是本人学习笔记记录所得,如果博文中有什么问题,请大家指出来,大家一起学习。1.C++中的结构体 C++中的结构体和类基本上没什么区别了,基本上可以把它当做类来使用,在下面这个实验例程验证了C++结构体和类很多共通性质:包括多态,虚指针,继承,...原创 2016-07-21 18:41:11 · 1045 阅读 · 0 评论 -
ubuntu eclipse c++开发环境配置
1.安装ubuntu eclipse开发环境:ubuntu14.04我是直接下载支持c++的eclipse,如下链接:http://eclipse.bluemix.net/packages/mars.1/data/eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz2.配置头文件路径头文件project->properties,然后就弹出下面这样的...原创 2018-12-23 23:13:48 · 954 阅读 · 0 评论 -
C++ STL学习之auto_ptr
最近在学习opencv源码过程中,发现c++知识忘的差不过了,所以借这个机会在复习一下C++ STL编程。首先记录一下智能指针,在后面学习过程中,会用到智能指针。1.auto_ptr智能指针c++的智能指针是比较简单的,简单在于它无法记录当前系统是否还有其它地方引用当前对象,这样的话就无法智能的释放对象。只能在智能指针对象释放时,方能释放引用对象。现在Android中的sp,wp,结合RefB...原创 2018-12-24 00:16:28 · 444 阅读 · 0 评论 -
C++指针和引用的区别
文章目录1. 指针和引用区别:2.引用占用内存吗3.C++数组引用讨论:1. 指针和引用区别:指针:指向一块内存,它的内容是所指内存的地址,使用过程中可以更改被指内存的内容;指针可以为空,可以在使用过程中指向其它地址,(不专心);引用:某块内存的别名,在使用过程中引用不可以改变指向(虽然引用不可以改变指向,但是可以改变初始化对象的内容)。定义一个引用的时候,必须初始化,要不然编...原创 2019-05-26 16:51:21 · 208 阅读 · 0 评论 -
C++内存分布之单继承和多继承(无虚函数)
之前在本地有写过一篇很长的关于C++内存分布的文档(里面有很多调试例子),想一次性移到博客当中。但是排版起来非常麻烦,索性现在分情况来写吧。一来排版比较容易,二来同学们如果看到了我的博客,也不会觉得冗长。博客中如果有错误的地方,欢迎大家指正,我们共同进步。 现在来介绍一下我的环境:1.系统:Ubuntu 12.04.2 LTS2.编译器:gcc version 4.4....原创 2016-07-08 18:16:00 · 2301 阅读 · 0 评论 -
C++内存分布之菱形继承(无虚函数)
菱形继承的定义是:两个子类继承同一父类,而又有子类同时继承这两个子类。例如a,b两个类同时继承c,但是又有一个d类同时继承a,b类。探究的过程还是很有趣的。 菱形继承的内存布局探究花了我几天时间,探究起来还是有点难度的。博文中如果有错误的地方,欢迎大家指正,大家共同进步。一、继承关系图图1.菱形类图二、源代码#include<iostream>...原创 2016-07-08 19:59:55 · 3177 阅读 · 0 评论 -
C++内存分布之虚函数和虚表
虚函数:就是在类中被关键字Virtual修饰的成员函数。虚函数的作用就是实现多态,即多态性是将接口与实现进行分离,简单就是说允许将子类类型的指针赋值给父类类型的指针,那么指向基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数。博文中如果有错误的地方,欢迎大家指正,我们共同进步。 这次这这篇博文,主要有下面几个探索点。1.探究类...原创 2016-07-12 23:08:30 · 7113 阅读 · 0 评论 -
C++之多态
一、多态定义 多态是每种面向对象语言的重要概念。它理解起立就是父类指针指向了子类的实例,然后通过父类指针调用实际成员函数的过程.我们知道虚函数是实现多态的重要机制。假如一个类中有虚函数,那么在类实例的首部会保存该类虚函数表的指针。注意这里针对g++编译时,虚表和虚函数表还不太一样。从前面的2篇博文大家知道,在存在虚继承的情况下,虚表开始处会记录基类数据成员的偏移。虚表是类所有,虚...原创 2016-07-14 22:25:44 · 1311 阅读 · 0 评论 -
C++基础之模板
之前在看android binder代码时,看到大量使用了模板机制,虽然之前知道模板这个概念,也会使用,但没留下痕迹。任何技巧只有自己亲手实践过,才会记忆深刻。于是即将有此博文。呵呵,我们开始吧。博客中如有错误的地方,欢迎大家指正,我们共同学习,共同进步。 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函...原创 2016-07-16 17:48:08 · 541 阅读 · 0 评论 -
C++STL容器之bitset和vector
1.Bitset此类主要用于位存储,如果单纯的记录bool状态,个人认为其实可以完全可以通过左移右移操作符号(<<,>>)得到对应的状态。如果状态非常长的话,还是用bitset吧。源码就不贴出来了,非常简单。上面是vs2010验证的bitset的调试过程,需要观察注意下面几点构造函数:bit仓库中bit分布位(大端模式,高位存在低位)reset:把1->0...原创 2019-06-11 18:25:10 · 1403 阅读 · 0 评论