so~what
码龄6年
  • 115,995
    被访问
  • 207
    原创
  • 9,275
    排名
  • 2,230
    粉丝
  • 116
    铁粉
关注
提问 私信
  • 加入CSDN时间: 2016-07-14
博客简介:

qfturauyls的博客

查看详细资料
  • 5
    领奖
    总分 1,060 当月 116
个人成就
  • 获得98次点赞
  • 内容获得526次评论
  • 获得393次收藏
创作历程
  • 11篇
    2022年
  • 19篇
    2021年
  • 173篇
    2020年
  • 4篇
    2019年
成就勋章
TA的专栏
  • 程序员应知应会
    109篇
  • 通信一点通
    5篇
  • 设计模式&架构&重构
    4篇
  • 笔记
    2篇
  • C++学习杂项
    33篇
  • 数据结构
    2篇
  • python学习
    6篇
  • C++学习笔记
    14篇
  • 工具使用
    26篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

DAPS~5G NR双激活协议栈

DAPS~5G NR双激活协议栈
原创
发布博客 2022.06.26 ·
31 阅读 ·
0 点赞 ·
0 评论

隐藏权限(lsattr/chattr命令)~Linux系统为什么存在一些文件无法删除?

隐藏权限(lsattr/chattr命令)~Linux系统为什么存在一些文件无法删除?
原创
发布博客 2022.06.26 ·
190 阅读 ·
0 点赞 ·
0 评论

通信领域~软件版本发布/交付过程中 常见术语

通信领域、术语
原创
发布博客 2022.06.26 ·
90 阅读 ·
0 点赞 ·
0 评论

三种IP传输层协议TCP、UDP、SCTP与通信系统四面

IP传输层 - 三种IP传输层协议TCP、UDP、SCTP与通信系统四面:管理面、业务数据面、同步面、信令面
原创
发布博客 2022.06.08 ·
45 阅读 ·
1 点赞 ·
3 评论

5G NR 概念之~MCG/SCG/PCell/PSCell/SCellsPCell

5G NR 概念之~MCG/SCG/PCell/PSCell/SCellsPCell
原创
发布博客 2022.06.06 ·
31 阅读 ·
0 点赞 ·
0 评论

正交设计之正交四原则

设计是什么? 正如Kent Beck所说,软件设计是为了「长期」更加容易地适应未来的变化。正确的软件设计方法是为了长期地、更好更快、更容易地实现软件价值的交付。Design is there to enable you to keep changing the software easily in the long term. -- Kent Beck....
原创
发布博客 2022.04.27 ·
465 阅读 ·
0 点赞 ·
0 评论

软件设计基本原则:高内聚、低耦合

高内聚、低耦合:紧密关联的事物应该放在一起(高内聚); 只有紧密关联的事物才应该放在一起(低耦合)高耦合降低系统重用性; 低耦合降低组件间依赖关系;设计模式、SOLID原则、正交四原则,都是为了更好的做到高内聚、低耦合。...
原创
发布博客 2022.04.26 ·
430 阅读 ·
0 点赞 ·
0 评论

【六大设计原则-SOLID】

参考:设计模式六大原则(详细解释)_年少無知的博客-CSDN博客设计模式六大原则(SOLID)_不会飞的雁的博客-CSDN博客_solid设计模式浅谈软件设计原则_Ydoing的博客-CSDN博客
原创
发布博客 2022.04.26 ·
1563 阅读 ·
0 点赞 ·
0 评论

linux中nm/strings命令

nm是names的缩写;nm命令主要是用来列出某些文件中的符号(就是一些函数和全局变量等)。nm命令主要列出特性文件中的符号信息。test.h为:void print();test.c为:#include <stdio.h>#include "test.h" void print(){ printf("rainy days
");}main.c为:#include "test.h" int main(){ print(); retur
原创
发布博客 2022.04.18 ·
67 阅读 ·
0 点赞 ·
0 评论

中年程序员~书单

程序员书单
原创
发布博客 2022.04.13 ·
3278 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(106)之C++ STL中的vector的内存分配与释放

(1)vector的内存增长 vector其中一个特点:内存空间只会增长,不会减小,援引C++ Primer:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一下,当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间、拷贝元素、撤销旧空间,这样性能难以接受。因此STL实现者在对vector进行内存分配时,其实际分配的容量要比当前所需的空间多一些。就是说vector容器预留了一些额外的存储区,用于存放新添加的元素,这...
原创
发布博客 2021.04.12 ·
74 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(105)之const相关

目录一、const含义二、const作用(1)可以定义常量 const int a=100;(2)类型检查(3)防止修改,起保护作用,增加程序健壮性(4)可以节省空间,避免不必要的内存分配三、const对象默认为文件局部变量四、指针与const(1)指向常量的指针(2)常指针五、函数中使用constcost修饰函数返回值六、类中使用const一、const含义 常类型是指使用类型修饰符const说明的类型,常类型的...
原创
发布博客 2021.04.01 ·
71 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(104)~ 动态库与静态库 动态链接与静态链接

(1)动态链接与静态链接动态链接: 是指一个项目A链接了一个动态链接库的项目B(项目B编译后生成的是DLL以及lib文件)。项目A只需要将lib文件引入到本项目中即可,无论是通过项目配置或者#prgram comment(lib,"B.lib")还是其他什么方式,那都是动态链接,程序A运行时是必须要B.DLL这个动态链接库的,否则运行报错。(对于动态库而言lib仅仅只是B项目功能的索引,不具备具体的功能,功能代码全在DLL中,所以lib仅在编译时使用,DLL仅在运行时使用)静态链接:...
原创
发布博客 2021.03.30 ·
70 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(103)发生死锁必须满足四个条件:互斥条件/请求与保持条件/不剥夺条件/循环等待条件

要想发生死锁有 4 个缺一不可的必要条件:第 1 个叫互斥条件,它的意思是每个资源每次只能被一个线程(或进程,下同)使用,为什么资源不能同时被多个线程或进程使用呢?这是因为如果每个人都可以拿到想要的资源,那就不需要等待,所以是不可能发生死锁的。第 2 个是请求与保持条件,它是指当一个线程因请求资源而阻塞时,则需对已获得的资源保持不放。如果在请求资源时阻塞了,并且会自动释放手中资源(例如锁)的话,那别人自然就能拿到我刚才释放的资源,也就不会形成死锁。第 3 个是不剥夺条件,它是指线程已获得的资源,
原创
发布博客 2021.03.30 ·
1228 阅读 ·
2 点赞 ·
1 评论

LTE常用定时器参数介绍

一、接入类定时器1.初始接入流程说明 主要受T300、T302定时器的影响: UE RRC连接建立请求消息是由UE的RRC层发起,并向MAC层发出随机接入指示以后,启动T300定时器,接收到RRCConnection Setup消息或RRC Connection Reject消息,或NAS层指示终止RRC连接建立时停止; 如果T300超时,则通知上层RRC连接建立失败, UE转入空闲模式。 网络在RRC连接拒绝时,会在RRC Connection R...
原创
发布博客 2021.03.08 ·
881 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(102)~ C中snprintf与vsnprintf函数

虽然snprintf函数在开发过程中比较常用,但是其中有一些细节性的问题需要注意。因为snprintf函数不是C中的标准函数,不同的编译器可能对该函数的实现不同,本文说明是基于GCC编译器。1、snprintf函数1.1 函数原型snprintf函数的作用是将格式化的数据写入字符串。其函数原型如下:snprintf(char* buffer, int n, char* format, ...);1.2 参数说明buffer : 存储格式化字符串的buffer n :...
原创
发布博客 2021.02.07 ·
135 阅读 ·
0 点赞 ·
1 评论

Linux gdb调试命令(如何打印完整字符串)

<gdb常用调试命令>gdb调试1、 gdb test2、(gdb)b xxx.cpp:1061 //打断点 b + 偏移量 b + 函数名 info b //查看断点3、(gdb) run --gtest_filter=*.xxxx verbose //执行用例run (r)执行源代码中一行的命令next(简称n)//执行时如果遇到函数调用,可能想执行到函数内部,这时用step(简称p)continue(c) // c
原创
发布博客 2021.02.02 ·
1796 阅读 ·
1 点赞 ·
0 评论

C++程序员应了解的那些事(99)之 C++中的ODR法则

C++ 标准规定“每个程序应该只包含那个程序中用到的每个非内联函数或对象的一个定义”。然而在同一个程序中,一个类、枚举类型、具有内部链接的内联函数和和一 个模板可能有不止一个定义——只要每个定义出现在一个独立的翻译单元即可。对于内联函数和模板的情况,常用做法是在头文件中编写它们的定义,然后在每个独 立编译的源文件中使用 #include 引入它。定义的同等性 这就引出一个问题:什么时候两个定义完全相同?单定义规则 (ODR,One Definition Rule)定义了...
原创
发布博客 2021.01.25 ·
100 阅读 ·
1 点赞 ·
0 评论

C++程序员应了解的那些事(98)关于C++异常

本文是作者翻译过C++之父Bjarne Stroustrup的技术文章C++核心准则中有关C++中异常的文章之后的总结:异常处理机制希望解决的问题:为了使用错误处理系统化,健壮和不繁琐。例如下面的代码:void f2(int i) // Clumsy and error-prone: explicit release{ int* p = new int[12]; // ... if (i < 17) { delete[] p; t
原创
发布博客 2021.01.23 ·
72 阅读 ·
0 点赞 ·
0 评论

C++程序员应了解的那些事(98)C++构造函数小结

首先来看代码:class ba{public: int b;};ba object = {10}; 上面这代码能编译通过,怎么没有构造函数?object是怎么回事? 上面这代码其实是具备结构体性质的C++类,要不然我们怎么说C/C++,为了理解,所以这样说,但也没说错。既然是结构体了,那么下面的初始化也就明白了。但是,这样的初始化方式只能初始化public成员,而私有和保护的却不能这样初始化,因为权限问题。(这个需要自己理解了) ...
原创
发布博客 2021.01.20 ·
47 阅读 ·
0 点赞 ·
2 评论
加载更多