![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++11
文章平均质量分 73
肩上风骋
日积月累,熟能生巧。
展开
-
C++中constexpr
在C++中,constexpr是一个类型说明符,它用于指定一个变量或函数是“常量表达式”。constexpr的主要目的是。当一个变量被声明为constexpr时,它的值必须在编译时就可以确定。这通常意味着它必须被初始化为一个常量表达式。原创 2024-02-26 15:22:22 · 907 阅读 · 0 评论 -
C++中atomic的使用
本文只要讲述C++11中atomic的使用,并通过示例来进一步的说明。atomic在c++11中被引入,作为一种原子操作,之所以是原子操作,是因为其能保证操作过程不会被打断或终止,保证了被操作数据的安全性。原子操作是线程安全的。尤其在多线程同步中,常用于基本类型共享数据的保护。原子操作:指的是不可被中断的一个或一系列操作,这些操作要么全部执行成功,要么全部不执行。原创 2024-02-26 14:43:40 · 1254 阅读 · 0 评论 -
C++多线程同步(上)
可以不用,是因为当3个读线程都获取共享锁后,接下来只能是3个读线程中的一个线程可以获取独占锁,而当获取独占锁的读线程执行完for循环输出后,就会退出线程处理函数,同时独占锁的生命周期结束,g_mutex被释放,剩余的2个度线程中的一个就会获取独占锁继续向下执行,而另一个继续阻塞等待锁的释放。IsReady) {…多个读线程一起读的时候,就会有多个读线程之间的竞争,会出现类似于本应该一个读线程需要读一个容器中的多个元素,但当它读了第一个元素后,可能另一个读线程就抢着读了,不能保证每个读线程读数据时的连续性。原创 2024-02-22 11:44:48 · 1456 阅读 · 0 评论 -
C++中线程的创建
当编写的程序在运行时,出现界面卡顿,或者当程序处理一些比较耗时的计算时,将所有的操作的都放在主线程,就显得有些不妥,这时若是能将一部分的计算放在子线程中,便可以提高软件的性能,同时也可以提升用户的体验。上面提到使用函数指针作为创建线程的参数传入,那个例子种,线程处理函数是没有参数的。这里提到的线程处理函数是有参的线程处理函数,创建线程时将函数指针传入,同时要传入相应的实参。在学习C++的过程中,线程的使用作为一个非常重要的部分,也是在复杂项目中课有效提升程序的性能的手段,所以必须会。原创 2024-02-20 20:22:07 · 573 阅读 · 0 评论 -
C++中自定义类型使用标准输入cin输出cout
当自己定义的数据为一些复杂数据,不再为基本数据类型,这时候要使用cout输出这些数据,就需要重载输出运算符原创 2024-02-19 14:53:10 · 441 阅读 · 0 评论 -
C++11中auto的使用
c++11中auto的使用。原创 2022-10-13 18:49:02 · 1222 阅读 · 0 评论