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

c/c++语言

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

关注
1 已关注
57篇博文
  • c++箭头操作符(->)重载函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2017-12-16 15:32
    193
  • c++的typeid关键字

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

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

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

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

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

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

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

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

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

    2017-08-18 00:17
    114
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部