nullptr

使用CyberRT写第一个代码

0. 简介计算框架是自动驾驶系统中的重中之重,也是整个系统得以高效稳定运行的基础。为了实时地完成感知、决策和执行,系统需要一系列的模块相互紧密配合,高效地执行任务流。由于各种原因,这些模块可能位于不同进程,也可能位于不同机器。这就要求计算框架中具有灵活的、高性能的通信机制。Apollo在3.5版本中推出了Cyber RT替代了原先的ROS。和ROS & RO …

Qt多线程编程之QThreadPool 和 QRunnable使用

说到线程通常会想到QThread,但其实Qt中创建线程的方式有多种,这里主要介绍其中一种QRunnable,QRunnable和QThread用法有些不同,并且使用场景也有区别。要介绍QRunnable的用法、使用场景以及注意事项,首先还要先来看看QThreadPool,因为QRunnable任务需要使用QThreadPool启动线程。一、QThreadPo …

FFmpeg连载2-分离视频和音频

前言前面我们搭建好了FFmpeg的开发环境,今天我们就来小试牛刀,使用FFmpeg库对mp4文件进行解封装,提取mp4中的视频流和音频流输出到单独的输出文件中。 关于FFmpeg开发环境搭建可以看我之前的文章。所谓的分离视频和音频是我们通俗的说法,官方的说法叫解封装。与解封装对应的叫封装或复用器,也就是将多个视频流或音频流合并成一个多媒体文件就叫封装。API …

QMenuBar、QMenu、QDialog

QMenuBar一、描述菜单栏。二、属性成员1、defaultUp : bool菜单弹出方向。默认情况下,菜单“向下”弹出屏幕。如果菜单不适合屏幕,则自动使用另一个方向。2、nativeMenuBar : bool菜单栏是否将在支持它的平台上用作本机菜单栏。当前支持的平台是 macOS 和使用 com.canonical.dbusmenu D-Bus 接口的 …

C++中NULL和nullptr的区别

C++中NULL和nullptr的区别:NULL来自c语言,一般由宏定义实现,而nullptr是C++11新增加的关键字。在c语言当中 NULL定义为 #define NULL ((void *)0)在C++语言当中 NULL定义为整数0。 #define NULL 0一般编译器定义如下:#ifndef NULL#ifdef __cplusplus#defi …

使用C++界面框架ImGUI开发一个简单程序

《Linux CC++一线开发实践》一对一答疑购买地址简介#ImGui 是一个用于C++的用户界面库,跨平台、无依赖,支持OpenGL、DirectX等多种渲染API,是一种即时UI(Immediate Mode User Interface)库,保留模式与即时模式的区别参考保留模式与即时模式。ImGui渲染非常快,但界面上有大量的数据集需要渲染可能会有一些 …

C/C++面试宝典:二叉树的层序遍历实现

引言二叉树,历来是CC++软件工程师面试必备内容,之所以如此受欢迎,主要是因为二叉树的考查可易可难,企业可以根据考查重点,应聘者的水平要求方面来出题,而且都是二叉树方面的东西;另外,通过二叉树的考查,也可以看出应聘者对于数据结构、代码优化能力等方面的水平。本节将介绍二叉树的另一个考点——二叉树的层序遍历需求介绍:给定一个二叉树,返回该二叉树层序遍历的结果,( …

C++关键字介绍

下表列出了C++中的常用关键字,这些关键字不能作为变量名或其他标识符名称。1、autoC++11的 auto 用于表示变量的自动类型推断。即在声明变量的时候,根据变量初始值的类型自动为此变量选择匹配的类型。auto x = 3;x 为 int 类型cout << typeid(x).name() << endl;auto 变量必须在定 …

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C 语言中,如果函数需要修改变量的值,参数必须为指针,如int foo(int *pval),在 C++ 中,函数还可以声明引用参数int foo(int &val),定义引用参数防止出现 (*pval)++ 这样丑陋的代码。像拷贝构造函数这样的应用也是必需的,而且更明确,不接受 NULL …

C++高频考点【必备】

1、野指针和悬挂指针野指针是指没有初始化的指针;悬挂指针是指指向的内存已经被释放的指针。野指针和悬挂指针都是指向不安全不可控的内存,如果操作该指针会发生意想不到的结果。如何避免?定义指针要初始化释放指针后赋值NULL使用智能指针2、NULL和nullptr区别NULL不是关键字,它是宏。#define NULL 0 或#define NULL (void*) …