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

c/c++语言

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

关注
5 已关注
62篇博文
  • 实现智能指针

    c/c++中内存的动态分配的结果是一个指针,该指针指向该片堆内存空间。c/c++中并没有垃圾回收机制,而用户使用完该堆空间后又可能忘记释放该片堆内存空间,这就造成内存泄漏。一个行之有效的解决办法就是采...

    2018-02-02 12:47
    89
  • 派生类向基类的自动类型转换

    在c++中,派生类向基类的自动类型转换只对指针或引用有效,在派生类对象和基类对象之间不存在这样的转换。将一个派生类对象初始化和赋值给一个基类对象,事实上调用的是基类的拷贝构造函数和赋值操作符重载函数,...

    2017-12-23 21:30
    175
  • 顺序表(c++实现)

    线性表是具有相同类型的n(n>=0)个数据元素的有序(中间不能空位置)有限序列,如: X0, X1, … Xn-1   其中Xi为表项,n为长度。线性表具有如下性质:   (1)线性表的...

    2018-01-12 23:37
    77
  • 数组类(c++实现)

    用c++实现数组类以代替原生数组,数组类可以包含数组的长度信息,主动发现访问越界,通过操作符重载还可以实现数组间的赋值赋值操作。类似于之前的线性表,数组类Array为一个抽象模板,数组的存储空间的分配...

    2018-01-16 22:38
    81
  • 简易内存池的实现

    最近在实现一个静态链表,即链表的节点占据的空间并非等到插入时再在堆空间中动态分配,而是在一块我们预先分配好的内存空间(可以在栈也可以在堆上)中找出一块空闲的内存空间来使用,当要销毁给节点时,不是del...

    2018-01-29 18:09
    79
  • c++箭头操作符(->)重载函数

    箭头(->)操作符是个二元操作符,其左操作数是类对象的地址或者是重载了箭头运算符的类对象,右操作数是类的成员。箭头操作符重载函数只能是类的成员函数(参考为什么有的操作符重载函数只能是成员函数?)。 ...

    2018-01-06 15:29
    91
  • 组合按键的软件设计(c语言)

    需求:   根据用户的四个按键的(上下左右)显示对应的内容,左右键切换显示项目名称,上下键切换切换该项目的具体信息条目。另外有一个无符号整型变量上的每一位用于控制项目的显示与否,该位为1则显示对...

    2017-12-28 18:37
    407
  • 派生类覆盖基类的重载的函数

    和其他函数一样,类的成员函数不论是否是虚函数都可以被重载(重载的发生需要是在同一作用域)。然而,派生类一旦声明了一个和基类重载函数同名的函数,派生类将会覆盖基类的所有重载函数,也就是说派生类可以覆盖基...

    2017-12-24 15:42
    250
  • c++类的不同继承方式

    c++类中成员有3种访问属性:public、private和protected,派生类对基类的继承方式同样是这3种。c++类对一个继承而来的成员的访问权限受两个因素影响:   (1) 该成员在基类中...

    2017-12-23 15:53
    203
  • c++单例模式类模板的实现

    设计模式中的单例模式有懒汉单例模式和饿汉单例模式两种,这部分内容记录在http://blog.csdn.net/qq_29344757/article/details/75575217中。 懒汉单例...

    2017-08-20 18:37
    396
  • c++类的二阶构造

    c++类的二阶构造函数主要适用于在构造函数申请系统资源的场景。普通构造函数的作用是初始化对象,若在初始化过程中不能按照程序员预期的进行,那么将会得到一个半成品对象。以下面代码为例:using name...

    2017-09-07 11:00
    546
  • 中缀表达式转后缀表达式

    栈的使用场景之一,中缀表达式转为后缀表达式。  将中缀表达式拆分成各个数字和运算符,并去除了括号,存到数组(或者容器、队列)中,遍历之: 若是数字,直接存放到用于输出的数组(或者容器、队列)中 若是”...

    2017-09-07 17:00
    135
  • 当c++中的联合体遇到类的构造函数

    在学习Qt的QVariant时,Qt Create的说明手册中说道:Because C++ forbids unions from including types that have non-defa...

    2017-09-22 10:29
    320
  • 数据结构概念解析

    1. 什么是数据结构  计算机软件是为了解决现实生活中的问题而存在的,生活中的不同个体体现在软件中即是“数据”。生活中的不同个体间势必存在某些联系,所以在软件设计中需要用某种逻辑来表现这些关系,这就是...

    2017-10-14 16:19
    166
  • 实现通用的双向链表(c语言实现)

    国庆8天在家阅读李先静大神的书籍,抽空把一些笔记记录下来。从实现一个通用的双向链表开始。 1. 构建链表节点   链表节点存值还是存值的地址(指针)?对于通用链表首先要做到能够存放任何数据类型...

    2017-10-16 15:46
    283
  • c++有序关联容器中键类型的约束

    本文以map为例来解释有序关联容器中键类型的约束。  map是键-值对的集合,可以理解为关联数组: std::map map1; map1.insert(make_pair(4, "linux"));...

    2017-12-02 17:29
    227
  • 程序中数据存放的位置

    基本上程序员在开始接触Linux编程时就大抵就都听过代码段、数据段等等概念,它们是各种数据存放的位置。通过objdump -h命令可以查看一个.o文件(已编译成二进制文件但未链接)的各个段: ...

    2017-10-16 17:30
    319
  • c++赋值兼容规则

    赋值兼容规则是指在需要父类对象的地方可以使用子类对象来代替:   通过public继承,子类得到了父类除构造/析构函数之外的所有成员,且所有成员的访问属性和父类的完全相同。这样,public继承的子类...

    2017-11-11 09:03
    179
  • c++ this指针与const对象

    在 c++的const对象一文中已经介绍了const对象的属性,本文尝试从this指针的角度,再来分析const对象。 1. 问题引入   同样的示例,定义一个类,并将其实例化为const对象: ...

    2017-11-16 18:38
    150
  • 为什么有的操作符重载函数只能是成员函数?

    出自于c++ primer 5e的一句话: 赋值(=)、下标([])、调用(())和成员访问箭头(->)运算符必须是成员(函数)。   为什么?对于赋值运算符来说,我们知道一个c++类,程序员如果...

    2017-12-16 15:32
    353

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