博客专栏  >  编程语言   >  c/c++语言

c/c++语言

在嵌入式软件开发中,c/c++是主流语言,也是在此领域的立根之本,因此本栏将记录和分享c/c++语言的基本语法,以及常用的、提升的编程技巧。

关注
1 已关注
42篇博文
  • c++的typeid关键字

    1. typeid关键字的引入  回顾c++的赋值兼容性原则,子类的对象在使用上可以被当做基类的对象,反过来则不可。具体表现在:   (1) 子类的对象可以被赋值给基本对象   (2) 指向基类的...

    2017-08-24 12:48
    50
  • c++的异常处理

    1. c++的异常处理介绍  c++的异常处理语法:int main(void) { try { double a = div(6, 0); } cat...

    2017-08-21 00:04
    64
  • c++的类模板

    泛型思想可运用于函数即函数模板外,还可以运用于类即模板类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。模板类在实际中主要用于存储和组织数据元素,如数组类、链表类、栈类(后进先出)...

    2017-08-20 01:51
    56
  • 为什么把c++类的析构函数声明为虚函数?

    如题,当一个类为基类的时候,通常其析构函数被声明为虚函数,这是为啥?class BaseCls { public: BaseCls() { printf("BaseCl...

    2017-08-18 23:47
    48
  • c++中抽象类和接口

    1. 抽象类 在面向对象编程中,抽象类是一种只能定义类型,不能生成对象的类,它是对一系列看上去不同,但是本质相同的具体概念的抽象。最典型的的抽象类就是”图形”,三角形、矩形、梯形都是图形,它们都具有边...

    2017-08-18 00:17
    46
  • c++的函数模板

    可以这么说,泛型编程是面向对象编程最为强大的编程方式,它是一种不考虑具体数据数据类型的编程方式。c++的泛型编程有函数模板和类模板,先来看看函数模板。1. 函数模板的引入  以交换值为例:我们要交换i...

    2017-08-19 01:17
    53
  • c++多态的实现原理

    c++多态的实现,依靠的是虚函数表。先来看看代码:#include using namespace std;class TestCls { public: int a; void fu...

    2017-08-17 23:09
    47
  • c++的多态

    1. 子类父类中同名成员的冲突问:子类中是否可以定义父类中的同名成员变量?class BaseCls { public: int a; void BasePrint() { ...

    2017-08-14 12:48
    195
  • c++类的类型转换函数

    之前学习的,可以将普通类型转换为类类型,需要借助转换构造函数。那么反过来,类类型可以转换为普通类型吗?#include class TestCls{ public: int a; Tes...

    2017-08-12 12:45
    317
  • c++的转换构造函数和杜绝隐式类型转换的explicit关键字

    c语言有简单粗暴的强制类型转换,当然c++也有。问,可以将一个数字强制类型转换为一个类吗?class TestCls { public: int a; };int main(void) { ...

    2017-08-10 18:07
    225
  • 变量在函数间的传递

    变量在函数间的传递在c语言中,传递在函数间的变量有普通变量和指针变量,在被调函数中想要修改主调函数传来的变量,是我们在实际开发中经常用用到的技术。 1.普通变量的传递(值拷贝)int test_fun...

    2017-03-13 16:53
    88
  • 谈谈c语言的结构体

    记得在学校上课的时候,结构体和指针章节,老师并没有花太多的课时去讲解,然而,这一部分内容却十分关键,特别是在基于LINUX的项目开发中,或者ARM应用开发。工作之余,先来谈谈结构体这个小东西。1.结构...

    2017-03-14 13:52
    200
  • 结构体中的字节对齐问题

    为了提高CPU访问内存的效率,可能CPU在读取数据时会一次性读取4字节、或者是2字节、8字节等大小的数据,所以编译器在把数据存放于内存的时候,会自动对齐。1. 字节对齐规则字节对齐有下面几种规律:1....

    2017-03-14 15:24
    121
  • 指针的灵活运用

    1. 将变量强制转换为地址c语言中存放地址值一般都采用指针,也就是说指针是存放变量的地址值的。在32位操作系统中,指针都是占据4字节,所以可以使用int型变量来存放变量的地址值int a = 6; ...

    2017-03-16 11:48
    100
  • 指针的减法运算和指针在函数间的传递

    昨晚在微信上和老友讨论c语言指针的相关问题,得到点收获。他和我一样,都是2016年6月份毕业的,从事的也都是嵌入式 软件开发工作。下来,我尝试着将讨论的内容讲清楚。说明,下面测试程序会用到两个宏: ...

    2017-03-17 15:14
    175
  • 环形缓冲区

    在嵌入式软件开发中,经常会遇到这样的场景,创建一个临时缓冲区用于存放待读取的数据。这时候,环形缓冲区是一个不错的选择。所谓环形缓冲区就是一段有限的内存空间,并且有两个指针分别代表读、写指向这一块内存,...

    2017-03-18 16:37
    154
  • 基本排序算法

    常见的排序算法有: 冒泡法(大学时c语言课程要求必须掌握的)、选择排序、交换排序以及插入排序,快速排序。现在来总结一下(以下排序都是从小到大排序)。1. 冒泡排序冒泡排序,实现过程是遍历要排序的数列,...

    2017-04-09 14:58
    78
  • 二分查找

    前面讲了排序的几种常见算法,我们知道排序的最终目的是方便且高效的查找,现来看看二分查找算法。 二分查找算法是在有序数组中用到的较为频繁的查找算法。举个例子,有如下数组:int a[] = {92, ...

    2017-04-09 15:43
    95
  • 哈希表示例

    哈希表的意义在于高效查找。对于查找来说,如果数据量特别大,二分查找和哈希表算法十分有用了。二分查找前面已经讲过,现来讲讲哈希表算法。 就像输入数据数组下标返回数组元素一样,这样的查找方式是最高效的了...

    2017-04-09 17:38
    112
  • strtok和strtok_r函数的使用

    strtok()和strtok_r()都是以特定字符串为分隔符来分隔源字符串,是属于string函数家的族函数。下面是基于实验得到的结论,实验环境为Linux Ubuntu11.04,gcc4.5.2...

    2017-04-14 17:34
    145

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部