logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

个人Linux操作系统学习笔记8 - 进程状态与僵尸进程

本文介绍了操作系统中的进程状态概念,重点分析了Linux系统的进程状态。主要内容包括:1)基础进程状态(运行、阻塞、挂起)及其在Linux中的实现;2)Linux特有状态(D不可中断睡眠、T暂停、Z僵尸等)的特点和使用场景;3)前后台进程的区别;4)进程状态转换实例,特别是僵尸状态的产生和回收机制;5)进程退出信息的存储位置和回收方式。文章通过代码示例和命令行操作展示了如何观察和控制进程状态,解释

文章图片
#linux#学习#操作系统 +1
C++模板:非类型模板参数,模板特化(函数模板与类模板,全特化与偏特化),模板的分离编译(模板为什么不推荐分离与定义分离)

本文深入探讨C++模板进阶知识,包括非类型模板参数、模板特化及分离编译问题。非类型模板参数允许使用常量值作为模板参数,但必须是编译期确定的整型、枚举等类型。模板特化针对特定类型定制实现,分为函数模板特化(如指针比较)和类模板特化(全特化/偏特化),解决通用模板无法处理的特殊场景。此外,模板的分离编译需注意定义与实例化需在同一文件,否则会导致链接失败。通过案例(如std::less特化)演示了如何提

文章图片
#c++#开发语言
C++拷贝构造函数与operator=()的现代简洁写法,如何“优雅”地拷贝构造与赋值

C++拷贝构造函数与operator=()的现代简洁写法,如何“优雅”地拷贝构造与赋值

文章图片
#c++#算法#数据结构
C++初始化列表是什么?有什么“隐藏坑”?初始化列表的顺序问题

C++初始化列表是什么?有什么“隐藏坑”?我们在使用初始化列表时,要尽可能让列表顺序与声明顺序一致,否则就容易造成初始化顺序不按预期的问题

文章图片
#c++
C++流运算符重载为何不能作为类的成员函数?快速理解!

为什么C++流运算符不能重载为成员函数? 本文用简单直白的语言解释了C++流运算符重载的常见误区。关键在于:成员函数隐含的this指针会打乱参数顺序。当作为成员函数重载时,实际参数顺序变为(类对象指针,ostream),而正常使用cout<<obj时参数顺序应为(ostream,类对象)。因此正确做法是将运算符重载为类的友元或命名空间中的非成员函数,保持参数顺序一致。文章通过代码示例直

文章图片
#c++#开发语言
C++流运算符重载为何不能作为类的成员函数?

本文解释了C++中流操作符operator<<和operator>>不能作为类成员函数实现的原因。关键点在于成员运算符的左操作数必须是类实例,而std::cout << obj的左操作数是std::ostream。编译器通过ADL在类所属命名空间查找非成员函数形式的运算符重载。文章提供了正确实现模板,建议将运算符作为非成员函数放在类所在命名空间,必要时声明为友元

文章图片
#c++#开发语言
c++的STL:string类与string类的手动基础实现

本文介绍了C++标准模板库中的std::string类,它是basic_string模板类的char类型特化,提供了动态大小、自动内存管理等特性。文章首先展示了std::string的基本用法,包括构造、拼接、查找等操作。然后重点给出了一个简化版的string类实现(my::string),包含核心功能如内存管理、迭代器、增删改查等操作,但不涉及SSO和内存池优化技术。该实现完整展示了字符串类的基

文章图片
#c++#开发语言
C++自定义类中静态成员的内存存储位置详解

C++中静态成员变量存储在全局/静态区而非栈区,与普通成员变量不同。静态成员属于类而非对象,程序全程仅存在一份,生命周期与程序一致。访问方式可通过对象或类名(推荐后者)。栈对象的普通成员位于栈区,而静态成员始终在静态区,二者存储位置和生命周期不同。静态成员需在类外定义,如int MyClass::count=0;,且与对象实例无关。

文章图片
#c++#开发语言
C++多继承下的指针偏移问题详解

本文通过一道经典面试题详细解析了C++多继承中的指针偏移问题。当派生类继承多个基类时,编译器会根据继承顺序在内存中依次排列基类子对象。第一个基类的地址与派生类对象首地址相同,而后续基类指针会自动添加偏移量。通过打印指针地址可验证p1和p3指向相同地址,p2则因偏移而不同。这种自动偏移是多继承的隐藏细节,理解对象内存布局是掌握指针偏移的关键。正确答案为C:p1==p3!=p2。

文章图片
#c++#面试#开发语言
从零配置一个规范的 Python Git 仓库(适用于 Gitee / GitHub)

本文介绍了如何规范配置一个Python Git仓库,适用于Gitee/GitHub托管。主要内容包括:1)创建空仓库并选择MIT-0开源协议;2)配置.gitignore文件,自动过滤Python编译文件、虚拟环境、IDE配置等非必要内容;3)设置.gitattributes统一换行符(LF)和文本编码(UTF-8),确保跨平台一致性。文章提供了详细的配置模板,并解释了各配置项的作用,帮助开发者创

文章图片
#python#git#github +1
    共 53 条
  • 1
  • 2
  • 3
  • 6
  • 请选择