logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C25 auto_ptr智能指针刨析

auto_ptr是 C++98 第一代智能指针,核心价值是RAII 自动释放内存,避免内存泄漏;核心设计:通过构造接管所有权、析构释放内存,拷贝 / 赋值采用 “所有权转移” 语义;致命缺陷:所有权转移导致悬空指针、不支持数组、不能作为容器元素、无空指针检查;废弃原因:设计与用户直觉不符,极易引发 bug,被 C++11 新一代智能指针替代;推荐方案:C++11+ 环境下,用unique_ptr替

文章图片
#开发语言#c++
Linux29初识网络:核心概念与分层逻辑

网络的核心是 “互联” 和 “通信”,分层模型是理解网络的关键;TCP/IP 四层模型:应用层(做什么)→传输层(怎么传,TCP/UDP)→网络层(往哪传,IP)→网络接口层(落地传,硬件);关键标识:IP 地址(设备在互联网的地址)、MAC 地址(设备网卡地址)、端口(应用程序的 “门牌号”,如 HTTP 用 80 端口);常用协议:TCP(可靠)、UDP(快速)、IP(路由)、HTTP(网页)

文章图片
#网络
Linux30 网络编程TCP流程

Socket 是 “IP 地址 + 端口号 + 传输协议” 的组合,唯一标识网络中的一个通信进程(比如 “192.168.1.100:8080/TCP” 对应电脑上的某个服务程序)。类比:Socket 就像 “电话”,IP 地址是 “电话号码”,端口号是 “分机号”,传输协议(TCP/UDP)是 “通话规则”。

文章图片
#网络#tcp/ip#网络协议
编译原理(3)词法分析基本概念

词法分析(Lexical Analysis)是编译过程的第一个核心阶段,又称 “扫描”(Scanning)。其本质是将源程序中无结构的字符流,按编程语言规则转换为结构化的 “词法单元”,同时过滤无用信息、检查字符级错误,为后续语法分析提供标准化输入。理解其基本概念是掌握编译原理的起点。词法分析涉及 4 个核心术语,它们共同描述了 “字符流如何变成词法单元” 的过程:词法分析的所有操作都围绕以下 3

文章图片
C24 对象生存期

1. 局部对象2. 全局对象3. 动态创建的对象1. 对于局部定义的对象,每当程序控制流到达该对象定义处时,调用构造函数。当程序控制走出该局部域时,则调用析构函数。2 对于静态局部定义的对象,在程序控制首次到达该对象定义处时,调用构造函数。当整个程序结束时调用析构函数。2. 对全局定义的对象,当程序进入入口函数 main 之前对象就已经定义,这时要调用构造函数。整个程序结束时调用析构函数。3. 动

文章图片
#c++#开发语言
M2 编译多个源文件

但是如果有100个文件,在这样就有点麻烦了。可以类推,在同一目录下有多个源文件,只要在add_executable里把所有源文件都添加进去即可,第一个参数dir就是指定目录,第二个参数var是用于存放源文件列表的变量。先执行cmake和make 后运行 ./main。接下来写一个进阶版的demo使用该变量。首先在同一个目录下创建以下文件。可以看到运行成功了!funa.hpp内容如下。3.1.2.2

#java#前端#算法
2 c/c++面试题

注意:栈区和堆区,堆区的存储是按照随意存储,而栈区是先进后出,栈由编译器自动分配释放,存放函数的参数值,局部变量的值等。操作对象不同,strcpy的两个操作对象都为字符串,sprintf操作对象可以是多种数据类型,目的的操作对象是字符串,memcpy的两个对象是任意可以操作的内存地址,并不限于任何数据类型。队列和栈都是先线性存储结构,但是两者的插入与删除数据都是不同的操作,队列是先进先出的数据结构

#c语言#c++#开发语言
2 c/c++面试题

注意:栈区和堆区,堆区的存储是按照随意存储,而栈区是先进后出,栈由编译器自动分配释放,存放函数的参数值,局部变量的值等。操作对象不同,strcpy的两个操作对象都为字符串,sprintf操作对象可以是多种数据类型,目的的操作对象是字符串,memcpy的两个对象是任意可以操作的内存地址,并不限于任何数据类型。队列和栈都是先线性存储结构,但是两者的插入与删除数据都是不同的操作,队列是先进先出的数据结构

#c语言#c++#开发语言
到底了