logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++ 命名空间:给代码 “安家落户” 的智慧

C++命名空间:代码组织的利器(摘要) 命名空间是C++中解决命名冲突的重要机制,它通过为代码元素提供逻辑分组来实现模块化管理。本文系统介绍了: 命名空间的基本概念:通过namespace关键字定义代码容器,避免全局命名污染 三种访问方式:全限定名(::)、using声明和using指令,分析各自的适用场景 高级特性:嵌套命名空间、匿名命名空间和命名空间别名 最佳实践:避免头文件中使用using指

文章图片
#c++#java#算法
C/C++《裸装初始号 & 全套装毕业号》

摘要: C++并非C的严格超集,二者虽有90%基础语法兼容(如内存模型、控制流),但存在关键差异:C99特性(如变长数组)在早期C++中不支持,而C++独有的类、模板等特性C无法使用。历史渊源上,C++从“带类的C”发展为独立多范式语言,底层仍与C共享系统级内核(手动内存管理、直接编译为机器码)。核心区别在于范式:C专注结构化编程,追求极致性能;C++融合面向对象、泛型等范式,适合复杂工程。生态上

文章图片
#jvm#开发语言#c++ +1
vector(上)

摘要:vector是C++中的动态数组容器,支持高效随机访问和动态扩容。它采用连续存储空间,通过预分配额外空间实现高效尾部插入(O(1)复杂度)。相比数组,vector可自动调整大小;相比其他序列容器,它在访问元素时更高效。典型应用场景包括:处理数量未知的输入数据(如读取任意数字)、频繁增删操作(如通讯录管理)、内存优化(自动分配所需空间)以及函数返回多个数据(如返回成绩集合)。vector通过空

文章图片
#c++
vector(下)

本文介绍了C++中vector容器的常见使用方法和迭代器失效问题。主要内容包括:vector的初始化、元素添加/访问/修改/删除操作、容量调整和迭代器遍历等基本用法;重点分析了三种迭代器失效场景(扩容、插入、删除操作),解释了失效原因并给出解决方案。关键点在于:扩容会导致所有迭代器失效,插入/删除会使操作位置及之后的迭代器失效,应使用操作返回值更新迭代器。使用vector时应注意修改容器结构后不要

文章图片
#算法#数据结构
C++ lambda 表达式详细介绍

C++11的lambda表达式是匿名临时函数,用于简化一次性逻辑(如STL算法回调)。核心语法包含捕获列表(控制外部变量访问)、参数列表、mutable关键字(允许修改值捕获变量)和可选的返回值类型。常用捕获方式包括[](不捕获)、[=](值捕获)、[&](引用捕获)和[this](类成员捕获)。lambda特别适合STL场景,如sort自定义排序([](int a,int b){retu

文章图片
#c++#开发语言
Linux C++ 进度条核心原理与基础实现

本文介绍了在Linux终端实现进度条的三种方法。核心原理是利用回车符\r实现单行刷新,配合缓冲区刷新机制:1. 基础版仅显示百分比数字;2. 进阶版增加[====>]样式的图形化进度条;3. C++风格实现版本。关键点包括:必须使用\r而非\n、需手动刷新缓冲区、结束需换行避免覆盖。所有方法均基于标准库实现,无需额外依赖,兼容各类Linux终端,适合需要展示任务进度的命令行程序开发。

文章图片
#linux#c++#运维
Linux 环境变量深度详解

本文系统介绍了环境变量的概念与使用方法,主要内容包括:1. 环境变量基础:定义、作用及重要性(配置分离、进程通信等)2. Shell操作:常用命令、PATH机制、变量类型区分及持久化配置3. C语言编程:三种访问方式(envp、environ、getenv)、修改方法及进程继承特性4. 实用技巧:/proc查看、最佳实践及常见误区(如子进程修改不影响父进程)5. 知识体系:涵盖变量生命周期、作用域

文章图片
#linux#运维#服务器
《Linux “一切皆文件” 的核心密码:彻底搞懂文件描述符 fd》

摘要:Linux系统中,文件描述符(fd)是进程访问各类资源的统一接口,采用非负整数作为索引。其核心设计包含三层映射:进程级的文件描述符表、系统级的文件表(记录偏移量等状态)和i-node表(存储文件元信息)。每个进程默认拥有0(stdin)、1(stdout)、2(stderr)三个fd,遵循最小可用分配原则。fd支持IO重定向(如>)、管道(|)和网络通信,体现"一切皆文件&q

文章图片
#服务器#网络#linux
三根水管的换装魔术:一文彻底搞懂 Linux IO 重定向的用法与底层原理

本文深入解析Linux IO重定向的底层原理与实用技巧。文章从文件描述符(fd)的基本概念切入,揭示程序默认的三大数据流(stdin/stdout/stderr)如何通过重定向改变流向。核心内容包括:基础重定向(输出/输入/错误)的语法与实现机制;合并重定向"2>&1"的正确顺序及常见误区;管道与重定向的组合用法;以及/dev/null的特殊用途。通过"

文章图片
#linux#服务器#php
数据的「快递打包」艺术:一文吃透应用层自定义序列化(附手写 C++ 实现)

本文介绍了自定义序列化的核心原理与实践方法。首先解释了序列化与反序列化的概念,即将内存对象与二进制字节流相互转换的过程,并对比了JSON/Protobuf等通用方案的局限性。重点讲解了自定义序列化的五大设计要点:协议结构(包头+包体)、字节序统一、内存对齐处理、兼容性设计和变长数据处理。通过C++代码示例演示了如何正确实现一个用户信息结构体的序列化/反序列化过程,避免直接memcpy结构体的常见错

文章图片
#c++#java#linux +1
    共 49 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择