林锐《高质量程序设计指南C/C++》笔记04:异常处理 **异常处理机制实际上是一种运行时通知机制。** 由底层代码通知高层代码,通知的方式就是**抛出一个异常**。异常处理包括:抛出异常throw、提炼异常try{}、捕获异常catch{}和异常对象本身。
林锐《高质量程序设计指南C/C++》笔记03:虚继承、C++重载内联 本篇主要涉及到C++区别于C的面向对象程序设计中的一些特性,主要是继承中的一些问题,以及对象的构造析构和拷贝等,此外,还记录了重载重写隐藏和内联等高级特性。在下一篇,会讲到C++的异常、内存管理和STL容器。
林锐《高质量程序设计指南C/C++》笔记02:断言、数组访问、位域、条件编译 如果表达式的值为0(假),则输出错误信息,调用abort()终止程序;如果表达式为真,则不进行任何操作。本篇主要集中在介绍C/C++中的指针、数组和字符串,以及数据结构和预处理技术,在下一篇会开始介绍C++面向对象的程序设计方法。C++断言(assert)断言是什么断言(assert)及其作用二维数组的首地址、首行地址和元素地址C语言学习之:一维数组、二维数组的取值和取地址问题关于二维数组a[i][j]为什么C语言中*(a+i)+j能表示a[i][j]的地址C语言位域(位段)详解C 位域。
C/C++数组访问方式:*a,*a[0],*(*(a+i)+j)详解 总结一下,对于二维数组arr等价于&arr[0]*arr等价于arr[0]。arr[0]等价于&arr[0][0]*arr[0]等价于arr[0][0]。arr + i等价于&arr[i]*(arr + i)等价于arr[i]等价于&arr[i][j]等价于arr[i][j]。arr单独拿出来表示的是首元素的地址,而&arr是整个数组的地址。二维数组的首地址、首行地址和元素地址C语言学习之:一维数组、二维数组的取值和取地址问题关于二维数组a[i][j]
sizeof(),strlen(),length(),size()区别 C语言学习之sizeof与strlen【C语言进阶】sizeof、strlen详解数组的定义,初始化和使用,C语言数组详解字符数组(用sizeof和strlen计算长度的说明)C语言转义字符C语言——转义字符。
林锐《高质量程序设计指南C/C++》笔记01:基本数据类型、类型转换 本篇主要记录的是第四章的细节问题,比如 static 关键字,extern关键字的作用,函数重载的原理,和类型转换中没有关注到的一些问题,这些问题比较浅,还没有涉及到函数等内容,其中笔者本人对类型转换那一块接触的比较少,后续会单独开一篇讲讲这个部分。林锐《高质量程序设计指南C/C++》笔记02。
(git指令详解)gitlab创建新分支并上传代码 windows,在github上clone一个项目到本地,创建一个新分支,在新分支上修改,并将新分支上传。建议不要直接在clone下来的项目中修改,可以在本地新创建一个分支修改后上传。
git clone下载慢以及部分镜像网站无法使用的问题 在linux上使用 git clone 非常慢,网上的解决方法是使用github的镜像网站,我试了。但是有的github镜像网站无法使用,还是得多试几个。
mobaxterm ssh登录access denied解决方法 因为想要在远程复制文件到控制的虚拟机中,因此xterm这边要以root的身份登录。将PermitRootLogin prohibit-password注释(句首加一个#,这一行默认就是注释的)在虚拟机中ssh的配置文件中设置的不允许root登录。在下面加一行:PermitRootLogin yes。
情景题:设计实现一个高速生产者和多个慢速消费者的缓冲设施 使用了模板类来实现队列的泛型,提高了代码的复用性和可扩展性,可以支持任意类型的数据或任务。使用了vector来存储多个缓冲区,提高了队列的灵活性和可配置性,可以动态调整缓冲区的数量和容量。使用互斥锁mutex和条件变量condition_variable来保证线程安全,保证并发访问队列的数据一致性和同步性,避免数据竞争或死锁,提高队列的安全性和效率。
四、c++11智能指针之shared_ptr实现:自定义删除器 private ://指向计数器的指针 T * m_ptr;//多个智能指针对象共享一个引用计数,因此要定义为指针 size_t * m_size;//数组大小 std : : mutex * m_mutex;// 互斥锁,定义为指针类型,仅仅用来保护引用计数器 public ://构造 mySharedSp(const mySharedSp < T > & other);
三、c++11智能指针之shared_ptr代码实现:线程安全 这里我们将互斥锁定义为mutex 的指针类型。为什么不是静态变量类型:考虑到一个智能指针类会被创建出多个实例,比如智能指针对象p1和p2指向资源1,p3和p4指向资源2。如果定义为静态变量,一个线程访问p1会阻塞p3,但他们本身就指向不同对象,本来是互不影响的,因此互斥锁不能定义为静态变量。为什么不是 muex 类型。
Docker容器没网的解决方法 按照上述教程一直运行命令行,直到运行到添加ip网段,我们先查看容器ip网段再用下面方法添加。接下来就可以检查是否有网了:先进入容器,然后ping或者apt update一下。因为上面这个是整个docker容器的网段。需要给5G核心网分配网段。尝试使用下面这个指令。