文章教程

正点原子I.MX6U嵌入式Qt开发指南:第二章《C++基础》

今日头条西瓜视频抖音短视频 同名:正点原子感谢各位的关注和支持,你们的关注和支持是正点原子无限前进的动力。第二章《C++基础》2.1 C++语言新特性2.1 C++的新特性C++比C语言新增的数据类型是布尔类型(bool)。但是在新的C语言标准里已经有布尔类型了,但是在旧的C语言标准里是没有布尔类型的,编译器也无法解释布尔类型。在传统的C语言里,变量初始化时 …

C++中的基本输入/输出

C++附带的库为我们提供了许多执行输入和输出的方法。在C++中,输入和输出以字节序列或更常见的流形式执行。输入流:如果字节流的方向是从设备(例如,键盘)到主存储器,则此过程称为输入。输出流:如果字节流的方向相反,即从主存储器到设备(显示屏),则此过程称为输出。C++中可用于输入输出操作的头文件为:1. iostream:iostream代表标准输入输出流。该 …

C/C++编程笔记:C++中的 swap 内置函数,用法详解

函数std :: swap()是C ++标准模板库(STL)中的内置函数,该函数交换两个变量的值。句法:swap(a,b)参数:该函数接受两个必须交换的必需参数a和b。参数可以是任何数据类型。返回值:该函数不返回任何内容,它交换两个变量的值。下面的程序说明了swap()函数:示例一:#include <bitsstdc++.h>using nam …

不会用list的程序员不是好程序员,C++标准容器list类实例详解

C++中的 list(列表)是顺序容器,其中存储的元素并不是内存连续的,这一点和上一节讨论的 deque 是类似的。list 容器类的特点稍后几节将要讨论的C++中的 vector(向量)容器中的元素在内存中是连续存储的,这一点恰好和 list 相反。元素相邻存储的好处是随机访问非常方便,可以像类似于C语言数组那样通过下标访问各个元素,但是插入元素开销就比较 …

使用标准C++实现反射

不久之前,一个朋友和谈论关于如何实现将结构(struct)对象序列化为原始字节。他当时的工作是,需要生产含有含有补充(padding)的对象,但是对象在序列化之后不能包含补充(padding)的内容,例如:struct Foo{char data0; 3 bytes padding hereint data1;};在他所描述的例子中,有大量不同类型的对象需要 …

C++富有价值的函数重载,零基础上手,一文解析C++函数重载

在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似: void swap1(int *a, int *b);交换 int 变 …

解读C++即将迎来的重大更新(一):C++20的四大新特性

选自modernescpp作者:JP Tech等机器之心编译参与:Panda、杜伟C++20(C++ 编程语言标准 2020 版)将是 C++ 语言一次非常重大的更新,将为这门语言引入大量新特性。近日,C++ 开发者 Rainer Grimm 正通过一系列博客文章介绍 C++20 的新特性。目前这个系列文章已经更新了两篇,本篇是第一篇,主要介绍了 C++20 …

C/C++编程笔记:if—else语句块,有个细节需要注意

编写一个同时执行两个if-else块语句的CC ++程序。 CC ++语言中的if-else语句的语法为:如果(布尔表达式){语句仅执行如果布尔表达式为true}其他{ 仅在以下情况下执行语句 布尔表达式为false }因此,我们可以得出结论,if-else语句块中只有一个将根据布尔表达式的条件执行。 如果看文字有点迷糊可以看下面这张图片:但是我们可以更改代 …