移动语义是否真的“移动了内存”?被移动对象还能使用吗?
移动通常转移资源句柄并清空源对象,不要求搬动资源本体;`std::move` 只是转换为可移动的值类别。被移动对象必须保持有效且可析构,但具体值往往只保证满足类型契约。
Question Bank
按知识、方向与难度筛选;每道题都有分层回答和工程追问。
移动通常转移资源句柄并清空源对象,不要求搬动资源本体;`std::move` 只是转换为可移动的值类别。被移动对象必须保持有效且可析构,但具体值往往只保证满足类型契约。
UART 描述异步串行帧和控制器逻辑;TTL/CMOS 是单端逻辑电平;RS-232 定义不同电压和单端物理接口;RS-485 定义差分驱动与接收电气特性。MCU UART 不能未经收发器直接接 RS-232/485。
单工只允许信息固定单向流动;半双工双方都能发送但同一时刻共享方向,需要仲裁或方向控制;全双工能同时双向传输,通常有独立通道。协议能力与具体物理连接必须一起看。
同步通信让接收采样与发送时钟保持明确同步,时钟可独立传输或嵌入编码;异步串行常由双方约定速率,并用起始位重新建立每帧采样基准。关键是时序恢复方式,不只是线数。
波特率是每秒符号数,比特率是每秒传输的 Bit 数,一个符号可编码多个 Bit;UART 常见二电平下两者数值接近,但有效吞吐还要扣除起始位、校验位、停止位、协议头和空闲。
高性能系统总线面向 CPU、DMA 和存储等高带宽主设备,支持流水和并发;APB 接口简单、功耗和面积较低,适合寄存器型低速外设。桥接器把地址和事务从高速域转换到外设域。
SP 指向当前栈上下文,LR 通常保存返回地址或异常返回编码,PC 指示正在执行的位置,xPSR 包含条件标志、执行状态和异常号。异常现场要结合自动堆栈帧与反汇编解读。
CPU 是执行指令的处理核心;MPU 常指需外接较完整存储和外设系统的微处理器产品;MCU 将 CPU、片上存储和常用外设集成,面向控制;SoC 是更广义的系统级集成,可包含多核、GPU、加速器和复杂互连。